Як дізнатись, чи є у мого сервера SSH?


10

Як дізнатись, чи є у мого сервера SSH? Чи все-таки потрібно перевірити?

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 21 та закривав усі з'єднання з сервером).


+1 для nmap - це, мабуть, найпростіший спосіб точно знати, але, звичайно, його може заблокувати брандмауер
Марк Хендерсон,

2

Досить старий, але я тільки що потрапив на цю публікацію з тієї ж причини, і, слідуючи за публікацією ArtB 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-сервер на:

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

Один із способів - перевірити, чи встановлений пакет ssh RPM

[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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.