Como sei se meu servidor tem SSH?

10

Como sei se meu servidor tem SSH? Existe alguma maneira de testar?


fonte
Isso seria melhor no SuperUser?

Respostas:

14

Para cliente ssh: ssh google.com; se ele diz que o comando não foi encontrado, você não o instalou.

Para servidor ssh: ssh localhost; se não fizer nada, você não possui o servidor ssh.

Se você estiver executando o debian / ubuntu:

apt-get install openssh-server
Lucas Kauffman
fonte
1
Hmm, o cheque servidor ssh só funciona se ssh está sendo executado em sua porta padrão
Mark Henderson
mas se ele tivesse mudado a porta, saberia que está executando o ssh no: p?
Lucas Kauffman
Supondo que ele é quem configurou o servidor. Poderia ser um que ele herdou.
Mark Henderson
Fair o suficiente, então
Lucas Kauffman
4

A ausência de uma chave pública não é, de maneira alguma, a única maneira de o comando ssh falhar; portanto, essa é uma aproximação, na melhor das hipóteses; poderia ser suficiente, no entanto.

ssh $host "echo 2>&1" && echo $host OK || echo $host NOK

Ah, e ser um pouco mais específico seria ótimo.

J. Xu
fonte
3

which sshdiria se você tem o cliente SSH instalado. Mas você pode estar se perguntando se o servidor permite que você se conecte a ele usando o ssh; nesse momento, você está procurando pelo SSH - o daemon SSH - e não o próprio SSH. Se você o tiver instalado, poderá iniciá-lo /etc/init.d/sshd startcomo root. Se você não conseguir encontrar um script com nome semelhante, as probabilidades são: ele não está instalado. A maioria das distros deve tê-lo instalado por padrão.

Trenó
fonte
2

Outra nota:

telnet <target> 22

A primeira linha deve estar em texto simples, informando sobre a versão SSH.

Também o nmap pode fazer SERVICE/VERSION DETECTION( -sV: Probe open ports to determine service/version info). Isso poderia ajudá-lo a encontrar uma porta mal configurada (erros de digitação se ocultam em todos os lugares, eu tinha o ssh rodando em 21 e fechei todas as conexões com o servidor).

Martin M.
fonte
+1 para nmap, é provavelmente a maneira mais simples de saber com certeza, mas é claro que pode ser bloqueado por um firewall
Mark Henderson
2

Bastante antigo, mas eu acabei de publicar este post pelo mesmo motivo e seguindo o post do ArtB which ssh(outputs / usr / sbin / ssh para minha instalação padrão do Ubuntu), você também pode fazer which sshdquais resultados / usr / sbin / sshd

Embora, para ser honesto, a melhor maneira de ver se alguma coisa esteja em execução no Linux ps aux, não é? Portanto, neste caso ps aux | grep sshd, ou para aqueles que desejam perfeição e ocultam o comando grep ps aux | grep -v grep | grep sshd, faça o seguinte no meu Ubuntu em que acabei de instalar o OpenSSH-Server:

ps aux | grep -v grep | grep sshd root 5638 0.0 0.1 61372 5532 ? Ss 15:35 0:00 /usr/sbin/sshd -D

Gavin Burke
fonte
0

Uma maneira é verificar se você possui o pacote ssh RPM instalado

[sanyadav@localhost ~]$ **rpm -qa | grep -i ssh**

Saída =>

libssh2-1.4.3-8.el7.x86_64
openssh-6.6.1p1-11.el7.x86_64
**openssh-server-6.6.1p1-11.el7.x86_64**
**openssh-clients-6.6.1p1-11.el7.x86_64**

Além disso, se você quiser ver a versão do pacote ssh rpm instalada

[sanyadav@localhost ~]$rpm -qi openssh-clients-6.6.1p1-11.el7.x86_64

Saída =>

Name        : openssh-clients
Version     : 6.6.1p1
Release     : 11.el7
Architecture: x86_64
sandeep
fonte