Je me connecte à une machine Linux (centos 6.4) avec du mastic. Mis à part le fait que je ne peux configurer le mastic que pour utiliser un seul type de protocole, comment puis-je trouver la version de connexion ssh actuelle (SSH1 ou SSH2)?
Je me connecte à une machine Linux (centos 6.4) avec du mastic. Mis à part le fait que je ne peux configurer le mastic que pour utiliser un seul type de protocole, comment puis-je trouver la version de connexion ssh actuelle (SSH1 ou SSH2)?
Réponses:
Je sais que c'est une vieille question, mais depuis que je l'ai trouvée, je n'ai pas pu résister à l'affichage d'une autre manière.
Comme cstamas l’a suggéré, vous pouvez ssh -v localhost
simplement utiliser ssh 127.0.0.1 en mode commenté, ce qui affichera un message de débogage de la progression. Oui, grâce à ce processus, vous pouvez regarder en haut de la communication et obtenir la version SSH que vous utilisez actuellement.
Mais si vous lisez la ssh man
page, l’ -V
option sur ssh sera plus utile. Supprimez la page de manuel ssh :
-V Affiche le numéro de version et quitte.
-v Mode verbeux. Force ssh à imprimer des messages de débogage sur sa progression. Ceci est utile pour le débogage des problèmes de connexion, d’authentification et de configuration. Plusieurs options -v augmentent la verbosité. Le maximum est 3.
Je pense donc qu'il serait préférable de simplement faire ssh -V
et obtenir quelque chose de similaire à:
> ssh -V
OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 Feb 2013
J'espère que cela t'aides.
Putty Dans Session, Logging, sélectionnez le bouton radio "Paquets SSH et données brutes". Sélectionnez le fichier journal en tant que putty.log à l’emplacement de votre choix. Faites le lien. Tu devrais voir:
Event Log: Server version: SSH-2.0-OpenSSH_5.3
Event Log: Using SSH protocol version 2
Voir ci-dessous pour plus de détails sur la signification de SSH-2.0.
Autres méthodes Vous pouvez également essayer d’utiliser le client telnet en pointant sur le port 22:
telnet test1 22
Lorsque vous vous connectez, vous verrez:
Essayer 192.168.144.145 ... Connecté à test1. Le caractère d'échappement est '^]'. SSH-2.0-OpenSSH_5.3
La dernière ligne est celle à rechercher:
SSH-2.0-OpenSSH_5.3
Si le message dit SSH-2.0
que c'est bon, le serveur ssh auquel vous vous êtes connecté ne prend en charge que le protocole SSH version 2. Il ne prend pas en charge les connexions des clients du protocole SSH V1.
Si toutefois vous voyez:
SSH-1.99-OpenSSH_5.3
Ensuite, cela signifie que le serveur prend toujours en charge le protocole SSL version 1. Il a quelque chose comme ceci dans son sshd_config
fichier:
Protocol 1,2
Le protocole 1 est vulnérable et ne doit pas être utilisé.
Donc, pour que cela soit clair. Si vous voyez SSH-2 lorsque vous utilisez telnet sur le port 22 du serveur distant, vous ne pouvez utiliser que le protocole ssh, version 2, car le serveur ne prend pas en charge le protocole 1.
Selon la réponse cstamas ci-dessus, le drapeau -v affichera une ligne:
debug1: Remote protocol version 1.99, remote software version OpenSSH_5.3
ou:
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
Vous voulez voir version 2.0
là - bas.
Vous pouvez obtenir cela assez rapidement en utilisant netcat depuis votre ordinateur local, par exemple:
$ nc [IP_ADDRESS] 22
SSH-2.0-OpenSSH_5.3
J'aime mieux ça:
$ echo ~ | nc localhost 22
SSH-1.99-OpenSSH_3.9p1
Protocol mismatch.
$
L'avantage ici est que cela peut être fait par programme puisque la connexion n'est pas maintenue ouverte. Pour Python, essayez:
ssh_protocol = float(re.search(r"SSH-(\d.\d+)").group(1))
La seule méthode que je connaisse nécessite de disposer de privilèges suffisants pour afficher les entrées du journal ssh /var/log/auth.log
.
$ echo $SSH_CONNECTION
127.0.0.1 12375 127.0.0.1 22
Les premier et deuxième champs de la SSH_CONNECTION
variable indiquent l’adresse IP source et le port source de ma connexion. En grep
recherchant ces valeurs /var/log/auth.log
, je peux trouver l’entrée de journal à partir de l’authentification de ma connexion SSH.
$ sudo grep -F ' from 127.0.0.1 port 12375 ' /var/log/auth.log | grep ssh
Jun 26 16:29:52 morton sshd[20895]: Accepted keyboard-interactive/pam for jim from 127.0.0.1 port 12375 ssh2
Cette entrée de journal me dit que ma connexion actuelle utilise le protocole ssh2. Bien sûr, si la session SSH est ouverte depuis plusieurs jours, l’entrée de journal peut se trouver dans /var/log/auth.log.0
un auth.log
fichier plus ancien .