Как мне узнать, есть ли на моем сервере SSH?

10

Как мне узнать, есть ли на моем сервере SSH? Есть ли способ проверить?


источник
Будет ли это лучше на SuperUser?

Ответы:

14

Для клиента ssh: ssh google.com; если он говорит, что команда не найдена, значит, она не установлена.

Для сервера ssh: ssh localhost; если он ничего не делает, у вас нет ssh-сервера.

Если вы используете Debian / Ubuntu:

apt-get install openssh-server
Лукас Кауфман
источник
1
Хм, проверка вашего ssh-сервера работает только в том случае, если ssh работает на своем стандартном порту
Марк Хендерсон,
но если бы он изменил порт, то он знал бы, что он запускает ssh no: p?
Лукас Кауфман
Это при условии, что он тот, кто настроил сервер. Это может быть тот, который он унаследовал.
Марк Хендерсон
Достаточно справедливо тогда
Лукас Кауфман
4

Отсутствие открытого ключа ни в коем случае не единственный способ, которым команда ssh может потерпеть неудачу, так что это в лучшем случае приблизительное значение; Впрочем, этого может быть достаточно.

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

О, и быть немного более конкретным было бы здорово.

Дж. Сюй
источник
3

which sshскажет вам, если у вас установлен клиент SSH. Но вы можете спросить, позволяет ли ваш сервер подключаться к нему с помощью ssh, и в этот момент вы ищете SSH - демон SSH - а не сам SSH. Если он у вас установлен, вы сможете запустить его /etc/init.d/sshd startкак root. Если вы не можете найти одинаковые шансы на сценарий, он не установлен. В большинстве дистрибутивов он должен быть установлен по умолчанию.

санки
источник
2

Еще одна заметка:

telnet <target> 22

Первая строка должна быть в виде открытого текста о версии SSH.

Также nmap может делать SERVICE/VERSION DETECTION( -sV: Probe open ports to determine service/version info). Это может помочь вам найти неправильно сконфигурированный порт (опечатки прячутся везде, у меня был ssh runnning 21 и закрыты все соединения с сервером).

Мартин М.
источник
+1 для nmap, это, наверное, самый простой способ узнать наверняка, но он, конечно, может быть заблокирован брандмауэром
Марк Хендерсон
2

Довольно старый, но я только что попал в этот пост по той же причине, и, следуя посту ArtB (output which ssh/ usr / sbin / ssh для моей установки Ubuntu по умолчанию), вы также можете указать, which sshdкакие выходные данные / usr / sbin / sshd

Хотя, если честно, лучший способ проверить, работает ли что-нибудь в Linux, ps auxне так ли? Так что в этом случае ps aux | grep sshd, или для тех, кто хочет совершенства и скрывает команду grep ps aux | grep -v grep | grep sshd, выполните следующие действия на моей Ubuntu, на которой я только что установил 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

Гэвин Берк
источник
0

Один из способов - проверить, установлен ли у вас RPM-пакет ssh.

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

Выход =>

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

Далее, если вы хотите увидеть версию установленного пакета ssh rpm

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

Выход =>

Name        : openssh-clients
Version     : 6.6.1p1
Release     : 11.el7
Architecture: x86_64
Сандип
источник