¿Cómo sé si mi servidor tiene SSH?

10

¿Cómo sé si mi servidor tiene SSH? ¿Hay alguna forma de probar?


fuente
¿Sería esto mejor en SuperUser?

Respuestas:

14

Para el cliente ssh: ssh google.com; si dice comando no encontrado, no lo tienes instalado.

Para el servidor ssh: ssh localhost; si no hace nada, no tienes servidor ssh.

Si está ejecutando debian / ubuntu:

apt-get install openssh-server
Lucas Kauffman
fuente
1
Hmm, la comprobación de su servidor ssh solo funciona si ssh se está ejecutando en su puerto estándar
Mark Henderson
pero si hubiera cambiado el puerto, entonces sabría que está ejecutando ssh no: p?
Lucas Kauffman el
Eso suponiendo que sea él quien configuró el servidor. Podría ser uno que heredó.
Mark Henderson
Bastante justo entonces
Lucas Kauffman
4

La ausencia de una clave pública no es la única forma en que el comando ssh puede fallar, por lo que esta es una aproximación en el mejor de los casos; Sin embargo, podría ser suficiente.

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

Ah, y ser un poco más específico sería genial.

J. Xu
fuente
3

which sshte diría si tienes el cliente SSH instalado. Pero es posible que se pregunte si su servidor le permite conectarse a él mediante ssh, momento en el que está buscando SSH -el demonio SSH- y no SSH en sí. Si lo tiene instalado, debería poder iniciarlo /etc/init.d/sshd startcomo root. Si no puede encontrar un script con un nombre similar, es probable que no esté instalado. La mayoría de las distribuciones deberían tenerlo instalado por defecto.

Trineo
fuente
2

Otra nota:

telnet <target> 22

La primera línea debe ser texto sin formato que le informe sobre la versión SSH.

También nmap puede hacer SERVICE/VERSION DETECTION( -sV: Probe open ports to determine service/version info). Eso podría ayudarlo a encontrar un puerto mal configurado (los errores tipográficos se ocultan en todas partes, tenía ssh corriendo el 21 y cerré todas las conexiones al servidor).

Martin M.
fuente
+1 para nmap, es probablemente la forma más sencilla de saberlo con certeza, pero, por supuesto, puede ser bloqueado por un firewall
Mark Henderson
2

Muy antiguo, pero acabo de llegar a esta publicación por la misma razón y siguiendo la publicación de ArtB de which ssh(salidas / usr / sbin / ssh para mi instalación predeterminada de Ubuntu) también puede hacer which sshdqué salidas / usr / sbin / sshd

Aunque, para ser sincero, la mejor manera de ver si algo se está ejecutando en Linux es ps aux¿no es así? Entonces, en este caso ps aux | grep sshd, o para aquellos que desean la perfección y ocultan el comando grep ps aux | grep -v grep | grep sshd, de la siguiente manera en mi Ubuntu en el que acabo de instalar 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
fuente
0

Una forma es verificar si tiene instalado el paquete ssh RPM

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

Salida =>

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**

Además, si desea ver la versión del paquete ssh rpm instalado

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

Salida =>

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