Woher weiß ich, ob mein Server über SSH verfügt?

10

Woher weiß ich, ob mein Server über SSH verfügt? Gibt es sowieso zu testen?


quelle
Wäre das auf SuperUser besser?

Antworten:

14

Für ssh-Client: ssh google.com; Wenn der Befehl nicht gefunden wurde, wurde er nicht installiert.

Für ssh-Server: ssh localhost; Wenn es nichts tut, haben Sie keinen SSH-Server.

Wenn Sie debian / ubuntu ausführen:

apt-get install openssh-server
Lucas Kauffman
quelle
1
Hmm, Ihre SSH-Serverprüfung funktioniert nur, wenn SSH auf seinem Standardport ausgeführt wird
Mark Henderson
aber wenn er den Hafen gewechselt hätte, würde er wissen, dass er ssh no: p?
Lucas Kauffman
Vorausgesetzt, er ist derjenige, der den Server eingerichtet hat. Es könnte einer sein, den er geerbt hat.
Mark Henderson
Fair genug dann
Lucas Kauffman
4

Das Fehlen eines öffentlichen Schlüssels ist keineswegs die einzige Möglichkeit, wie der Befehl ssh fehlschlagen kann. Dies ist also bestenfalls eine Annäherung. es könnte jedoch ausreichen.

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

Oh, und ein bisschen genauer zu sein wäre großartig.

J. Xu
quelle
3

which sshwürde Ihnen sagen, ob Sie den SSH-Client installiert haben. Möglicherweise fragen Sie sich jedoch, ob Sie auf Ihrem Server eine Verbindung mit ssh herstellen können. An diesem Punkt suchen Sie nach SSH - dem SSH-Daemon - und nicht nach SSH selbst. Wenn Sie es installiert haben, sollte es in der Lage sein, es /etc/init.d/sshd startals root zu starten . Wenn Sie keine ähnlich benannten Skriptquoten finden können, ist diese nicht installiert. In den meisten Distributionen sollte es standardmäßig installiert sein.

Schlitten
quelle
2

Noch ein Hinweis:

telnet <target> 22

Die erste Zeile sollte Klartext sein und Sie über die SSH-Version informieren.

Auch nmap kann SERVICE/VERSION DETECTION( -sV: Probe open ports to determine service/version info). Das könnte Ihnen helfen, einen falsch konfigurierten Port zu finden (Tippfehler verstecken sich überall, ich hatte SSH auf 21 ausgeführt und alle Verbindungen zum Server geschlossen).

Martin M.
quelle
+1 für nmap, es ist wahrscheinlich der einfachste Weg, um sicher zu wissen, aber es kann natürlich durch eine Firewall blockiert werden
Mark Henderson
2

Ziemlich alt, aber ich habe diesen Beitrag aus dem gleichen Grund aufgerufen und im Anschluss an ArtBs Beitrag von which ssh(Ausgaben / usr / sbin / ssh für meine Standard-Ubuntu-Installation) können Sie auch which sshddie Ausgaben / usr / sbin / sshd ausführen

Um ehrlich zu sein, ist der beste Weg, um zu sehen, ob etwas unter Linux ps auxläuft, nicht wahr? In diesem Fall ps aux | grep sshdoder für diejenigen, die Perfektion wünschen und den Befehl grep verbergen möchten ps aux | grep -v grep | grep sshd, gehen Sie auf meinem Ubuntu, auf dem ich gerade OpenSSH-Server installiert habe, wie folgt vor:

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
quelle
0

Eine Möglichkeit besteht darin, zu überprüfen, ob das SSH-RPM-Paket installiert ist

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

Ausgabe =>

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

Wenn Sie möchten, dass die Version des ssh rpm-Pakets installiert ist

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

Ausgabe =>

Name        : openssh-clients
Version     : 6.6.1p1
Release     : 11.el7
Architecture: x86_64
Sandeep
quelle