Eu não tenho openssh-server, mas posso ssh para localhost

1

openssh-server não está instalado no meu computador, mas eu posso ssh para localhost ou de outro computador eu posso ssh para o meu computador. Isso significa que há outro servidor ssh em execução no meu computador. Como posso encontrar isso? Você poderia me ajudar?

Obrigado.

    
por Erdem 16.09.2013 / 11:22

1 resposta

1

Você pode ver o que está escutando em uma porta com netstat . Estou usando o awk para reduzir um pouco as coisas que estão sendo executadas na porta 22 e separar as duplicatas.

$ sudo netstat -tulpn | awk '/:22/ {printf "%d\n", }' | sort -u
979

A saída é o ID do processo.

Podemos explorar isso olhando a tabela /proc/ desse processo. Estou usando a saída acima, mas você deve substituir seu processo em execução.

$ sudo readlink -f /proc/979/exe
/usr/sbin/sshd

Para descobrir qual pacote pertence a nós, basta:

$ dpkg -S /usr/sbin/sshd
openssh-server: /usr/sbin/sshd

E podemos combinar isso em um comando feio em massa:

$ sudo netstat -tulpn | awk '/:22/ {printf "%d\n", }' | sort -u | while read p; do dpkg -S $(sudo readlink -f /proc/$p/exe); done
openssh-server: /usr/sbin/sshd
    
por Oli 16.09.2013 / 11:50