Skąd mam wiedzieć, czy mój serwer ma SSH?

10

Skąd mam wiedzieć, czy mój serwer ma SSH? Czy jest coś do przetestowania?


źródło
Czy byłoby lepiej na SuperUser?

Odpowiedzi:

14

W przypadku klienta ssh: ssh google.com; jeśli jest napisane, że komenda nie została znaleziona, nie masz jej zainstalowanej.

Dla serwera ssh: ssh localhost; jeśli nic nie robi, nie masz serwera ssh.

Jeśli korzystasz z debian / ubuntu:

apt-get install openssh-server
Lucas Kauffman
źródło
1
Hmm, sprawdzenie serwera ssh działa tylko wtedy, gdy ssh działa na swoim standardowym porcie
Mark Henderson
ale gdyby zmienił port, wiedziałby, że działa ssh no: p?
Lucas Kauffman,
Zakłada się, że to on skonfigurował serwer. To może być ten, który odziedziczył.
Mark Henderson
W takim razie wystarczy
Lucas Kauffman,
4

Brak klucza publicznego nie jest w żadnym wypadku jedynym sposobem na niepowodzenie polecenia ssh, więc jest to w najlepszym razie przybliżenie; może to jednak wystarczyć.

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

Aha, i bycie bardziej szczegółowym byłoby świetne.

J. Xu
źródło
3

which sshpoinformuje Cię, jeśli masz zainstalowanego klienta SSH. Ale możesz zapytać, czy twój serwer pozwala ci połączyć się z nim za pomocą ssh, w którym momencie szukasz SSH - demona SSH - a nie samego SSH. Jeśli masz zainstalowany powinien być w stanie uruchomić go /etc/init.d/sshd startjako root. Jeśli nie możesz znaleźć skryptu o podobnej nazwie, oznacza to, że nie jest on zainstalowany. Większość dystrybucji powinna mieć domyślnie zainstalowane.

Sanki
źródło
2

Kolejna uwaga:

telnet <target> 22

Pierwszy wiersz powinien być zwykłym tekstem informującym o wersji SSH.

Również nmap może zrobić SERVICE/VERSION DETECTION( -sV: Probe open ports to determine service/version info). To może pomóc ci znaleźć źle skonfigurowany port (literówki chowają się wszędzie, miałem ssh uruchomione na 21 i zamknąłem wszystkie połączenia z serwerem).

Martin M.
źródło
+1 dla nmap, to prawdopodobnie najprostszy sposób, aby się upewnić, ale można go oczywiście zablokować zaporą ogniową
Mark Henderson
2

Dość stary, ale właśnie trafiłem na ten post z tego samego powodu i kontynuując post ArtB which ssh(wyjścia / usr / sbin / ssh dla mojej domyślnej instalacji Ubuntu) możesz również zrobić, which sshdktóre wyjścia / usr / sbin / sshd

Chociaż szczerze mówiąc, najlepszym sposobem, aby sprawdzić, czy coś działa na Linuksie, jest ps auxprawda? Więc w tym przypadku ps aux | grep sshdlub dla tych, którzy chcą perfekcji i ukrywają polecenie grep ps aux | grep -v grep | grep sshd, wykonaj następujące czynności na moim Ubuntu, na którym właśnie zainstalowałem serwer OpenSSH:

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
źródło
0

Jednym ze sposobów jest sprawdzenie, czy masz zainstalowany pakiet ssh RPM

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

Wyjście =>

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

Ponadto, jeśli chcesz zobaczyć wersję pakietu ssh rpm zainstalowaną

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

Wyjście =>

Name        : openssh-clients
Version     : 6.6.1p1
Release     : 11.el7
Architecture: x86_64
sandeep
źródło