🖧 30+ вопросов и ответов на интервью по SSH |

🖧 30+ вопросов и ответов на интервью по SSH

Вакансии

Почему именно эта тема?

SSH, secure shell, – это сетевой протокол, используемый для доступа к удаленной машине Linux.

Вы можете выполнять команды на удаленном сервере, подключившись с помощью протокола SSH.

SSH – это важная часть технического собеседования по Linux.

Как новички, так и опытные технические специалисты могут следить за этим руководством для своих собеседований!

Это очень обширная и интересная тема.

Подготовьте тему SSH и идите на собеседование с уверенностью.

Содержание
  1. Вопрос 1 : Что такое SSH?
  2. Вопрос 2 : Какой номер порта по умолчанию используется для SSH?
  3. Вопрос 3 : Что представляет собой конфигурационный файл для SSH-сервера?
  4. Вопрос 4 : Что представляет собой конфигурационный файл для клиента SSH?
  5. Вопрос 5 : Можно ли изменить номер порта SSH по умолчанию?
  6. Вопрос 6 : Как получить доступ к серверу по SSH без фактического пароля root? Возможно ли это?
  7. Вопрос 7 : По каким-то причинам безопасности вам нужно отключить прямой вход root на ваш сервер? Что бы вы сделали?
  8. Вопрос 8 : Рассмотрим сценарий, в котором я хочу отключить прямой вход в систему root и разрешить моему пользователю доступ только к оболочке сервера.
  9. Как вы настроите SSH conf для этого?
  10. Вопрос 9 : Подобно AllowUsers, можно ли управлять доступом к серверу для Linux групп?
  11. Вопрос 10 : Итак, вы успешно разрешили доступ некоторым пользователям и группам. Теперь я хочу заблокировать доступ к SSH одному конкретному пользователю/пользователям и группе. Как вы настроите конфигурацию SSH для этого?
  12. Вопрос 11 : В чем разница между SSH и Telnet? Что вы предпочитаете? И почему?
  13. Вопрос 12 : Как включить отладку в команде ssh?
  14. Вопрос 13 : Пожалуйста, объясните различные протоколы для связи SSH.
  15. Вопрос 14 : Как проверить информацию о версии сервера SSH из командной строки Linux?
  16. Вопрос 15 : Итак, вы можете подключиться к удаленному хосту с помощью команды SSH.
  17. Как вы будете копировать файлы с помощью SSH? Возможно ли это?
  18. Вопрос 16 : Ваш порт SSH не стандартный, в этом случае, будет ли вышеуказанная команда копирования SCP работать или нет?
  19. Вопрос 17 : Что сокращенно называется SCP?
  20. Вопрос 18 : Слышали ли вы про blowfish?
  21. Вопрос 19 : Можете ли вы кратко объяснить работу SCP?
  22. Вопрос 20 : Часто используемые переключатели SCP?
  23. Вопрос 21 : Что означает директива “AddressFamily” в конфигурации SSH?
  24. Вопрос 22 : Слышали ли вы команду “sshpass?”.
  25. Вопрос 23 : Что такое Listen Address в конфигурации SSH?
  26. Вопрос 24 : Какое назначение имеет параметр “LoginGraceTime?”.
  27. Вопрос 25 : Какое назначение имеет параметр “MaxAuthTries?”.
  28. Вопрос 26 : Как перезапустить демон SSH?
  29. Вопрос 27 : Как проверить состояние демона SSH?
  30. Вопрос 28 : Как ограничить полосу пропускания, используемую командой scp?
  31. Вопрос 29 : Как создать баннер для отображения текстов при входе на сервер через SSH?
  32. Вопрос 30 : Что вы подразумеваете под шифром SSH? Каковы различные типы шифров в SSH?
  33. Вопрос 31 : Как получить доступ к графическому интерфейсу пользователя, используя SSH-соединение?

Вопрос 1 : Что такое SSH?

Ответ : Протокол Secure Shell сокращенно называется SSH.

Это безопасный и наиболее часто используемый протокол для доступа к удаленным серверам.

Этот протокол использует шифрование при передаче данных между двумя узлами.

Вопрос 2 : Какой номер порта по умолчанию используется для SSH?

Ответ : 22

#Port 22

Вопрос 3 : Что представляет собой конфигурационный файл для SSH-сервера?

Ответ : Конфигурационный файл для сервера SSH – это “/etc/ssh/sshd_config”.

Вопрос 4 : Что представляет собой конфигурационный файл для клиента SSH?

Ответ : Конфигурационный файл для клиента SSH – это “/etc/ssh/ssh_config”.

Вопрос 5 : Можно ли изменить номер порта SSH по умолчанию?

Ответ : Да, все знают номер порта SSH по умолчанию, а это порт 22.

В качестве меры безопасности, вы должны изменить номер порта с 22 на какой-нибудь другой открытый порт. Да!!! Это возможно.

Чтобы изменить порт SSH по умолчанию на 22, выполните следующие действия:

  • Шаг 1 : Войдите на сервер под пользователем root.
  • Шаг 2 : Откройте файл конфигурации SSH с помощью вашего любимого текстового редактора.
# vi /etc/ssh/sshd_config

Шаг 3 : Найдите директиву “Port”.

#Port 22
  • Шаг 4 : Измените его значение на какой-нибудь другой незадействованный номер порта, например 2022.
  • Шаг 5 : Сохраните файл.
  • Шаг 6 : Перезапустите демон SSH.
# service sshd restart

Вопрос 6 : Как получить доступ к серверу по SSH без фактического пароля root? Возможно ли это?

Ответ : Конечно, это возможно. На удаленном сервере есть файл “authorized_keys” в домашней директории пользователей для добавления наших открытых ключей.

Для root этот файл находится в каталоге “/root/.ssh”.

Сгенерируйте ключи со своей локальной машины и загрузите их в этот файл.

Вы можете создать свою собственную пару ключей с помощью команды “ssh-keygen” с вашей Linux-машины.

Для windows вы можете использовать puttygen для создания закрытых открытых ключей.

🛡️ Как создать ключи ssh на Windows 10

🔒 Как преобразовать PEM в PPK с помощью puttygen

Как включить аутентификацию на основе ключей – Putty?

# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
d4:47:78:cf:41:75:eb:59:cc:67:b2:6d:1a:20:c0:2d root@vps.crybit.com
The key's randomart image is:
+--[ RSA 2048]----+
|       ... .....o|
|        Eoo.. .oo|
|        ..o.oo.o*|
|       .   o .+=+|
|        S     ooo|
|               + |
|              .  |
|                 |
|                 |
+-----------------+

Добавьте открытый ключ в файл authorized_keys и перезапустите демон SSH. Вот и все!

Вопрос 7 : По каким-то причинам безопасности вам нужно отключить прямой вход root на ваш сервер? Что бы вы сделали?

Ответ : Если вы постоянно сталкиваетесь с атаками на уровне входа root, и вы хотите отключить полный вход root на вашем сервере.

Да, это возможно

. Для этого существует директива в конфигурационном файле SSH.

Конфигурационный файл приведен ниже:

PermitRootLogin

Измените его значение с “yes” на “no”.

Затем перезапустите демон SSH.

Вопрос 8 : Рассмотрим сценарий, в котором я хочу отключить прямой вход в систему root и разрешить моему пользователю доступ только к оболочке сервера.

Как вы настроите SSH conf для этого?

Ответ : Просто откройте конфигурацию SSH в вашем любимом текстовом редакторе и отключите вход root.

Этого можно добиться, следуя Вопросу 7.

Затем найдите директиву “AllowUsers” в конфигурационном файле.

Если ее там нет, добавьте ее и укажите там имя пользователя.

AllowUsers user1 user2

Вот и все! Не забудьте перезапустить демон SSH

Вопрос 9 : Подобно AllowUsers, можно ли управлять доступом к серверу для Linux групп?

Да, вы можете управлять им с помощью директивы “AllowGroups”.

AllowGroups group_1 group_2

Вопрос 10 : Итак, вы успешно разрешили доступ некоторым пользователям и группам. Теперь я хочу заблокировать доступ к SSH одному конкретному пользователю/пользователям и группе. Как вы настроите конфигурацию SSH для этого?

Ответ : Подобно AllowUsers и AllowGroups, вы можете запретить доступ пользователю/пользователям и группе/группам с помощью следующей директивы:

DenyUsers
DenyGroups

Пример:

DenyUsers user1 user2
DenyGroups group1 group2

Вопрос 11 : В чем разница между SSH и Telnet? Что вы предпочитаете? И почему?

Ответ : И SSH, и Telnet – это сетевые протоколы для подключения и общения с другой машиной по сети.

Я предпочитаю SSH.

Вопрос 12 : Как включить отладку в команде ssh?

Ответ : Чтобы включить режим отладки, используйте переключатель “v” вместе с обычной командой SSH.

Чтобы увеличить уровень отладки, просто увеличьте количество v.

Пожалуйста, посмотрите пример:

# ssh user@host -v

Вопрос 13 : Пожалуйста, объясните различные протоколы для связи SSH.

Ответ : SSH имеет два протокола, протокол 1 и протокол 2.

Протокол 1 менее безопасен и устарел.

В настоящее время мы используем протокол 2!

Вы можете установить/изменить его в конфигурационном файле SSH.

Вопрос 14 : Как проверить информацию о версии сервера SSH из командной строки Linux?

Ответ : Вы можете узнать версию сервера SSH, выполнив следующую команду:

# ssh -V

Пример:

# ssh -V
OpenSSH_8.7.1p1, OpenSSL 1.1.1д  24 Aug 2021

Вопрос 15 : Итак, вы можете подключиться к удаленному хосту с помощью команды SSH.

Как вы будете копировать файлы с помощью SSH? Возможно ли это?

Ответ : Да, это возможно. SCP – это команда, используемая для безопасной передачи файлов по сети. SCP основана на протоколе SSH и по умолчанию использует порт SSH.

Синтаксис

scp root@host:/home/itsecforu/* /home/itsecforu

Приведенная выше команда надежно копирует все файлы из каталога /home/itsecforu/ на удаленном хосте в каталог /home/itsecforu исходной машины.

Вопрос 16 : Ваш порт SSH не стандартный, в этом случае, будет ли вышеуказанная команда копирования SCP работать или нет?

Нет, не будет! Нам нужно указать фактический номер порта SSH для SCP-соединения. Вы можете использовать переключатель -P, чтобы указать порт SSH не по умолчанию.

Синтаксис

scp -P 2201 root@host:/home/itsecforu/* /home/itsecforu

Где 2201 – это порт SSH.

Вопрос 17 : Что сокращенно называется SCP?

Ответ : SCP расшифровывается как Secure Copy.

Вопрос 18 : Слышали ли вы про blowfish?

Ответ : Blowfish используется с командой SCP.

Он используется для увеличения скорости передачи данных.

По умолчанию scp использует шифр Triple-DES для шифрования копируемых данных.

Синтаксис

scp -c blowfish root@host:/home/itsecforu/* /home/itsecforu

Вопрос 19 : Можете ли вы кратко объяснить работу SCP?

Ответ : SCP расшифровывается как Secure Copy.

Он обеспечивает безопасную передачу файлов по сети. SCP основан на протоколе SSH и по умолчанию использует порт SSH.

Принцип работы

1. Клиент инициирует SSH-соединение с удаленным узлом и запрашивает запуск процесса SCP на удаленном узле.

2. Удаленный SCP-процесс может работать в двух режимах.

2.1 Режим источника

В этом режиме SCP на удаленном хосте считывает файлы с жесткого диска и отправляет их обратно на клиентскую машину.

2.3 Режим приемника

В этом режиме SCP на удаленном хосте принимает файлы, отправленные клиентом, и записывает их на диск.

Синтаксис такой же, как и у базовой команды копирования Linux.

Вопрос 20 : Часто используемые переключатели SCP?

Ответ : Мы уже объяснили использование переключателей “P” и “-c blowfish”.

Другие часто используемые переключатели – “r” “p” и “u”.

-p : Preserves modification times, access times, and modes from the original file.
-r : Recursively copy entire directories.  Note that scp follows symbolic links encountered in the tree traversal.
-U : Remove source files after coping them to the destination.

Вопрос 21 : Что означает директива “AddressFamily” в конфигурации SSH?

Ответ : Эта директива используется для ограничения доступа SSH к определенной подсети.

Это повышает уровень безопасности.

Никто, кроме заданной подсети, не сможет получить доступ к серверу по SSH.

  • Шаг 1 : Откройте файл конфигурации с помощью вашего любимого текстового редактора.
  • Шаг 2 : Найдите “AddressFamily”.
  • Шаг 3 : Добавьте информацию о предпочитаемой подсети.
AddressFamily 132.143.45.0/24
  • Шаг 4 : Перезапустите демон SSH.

Вопрос 22 : Слышали ли вы команду “sshpass?”.

Ответ : Да! sshpass – это команда, которая позволяет нам вводить пароль в Linux CLI, интерфейс командной строки.

Она помогает задавать пароль SSH в скриптах автоматизации.

Синтаксис

# sshpass -p PaSsWoRd ssh root@remote.host

Вопрос 23 : Что такое Listen Address в конфигурации SSH?

Ответ : Эта директива указывает, какие интерфейсы на сервере готовы к подключениям извне.

Рассмотрим сценарий, ваш сервер имеет 6 различных IP-адресов, и вы хотите настроить SSH таким образом, чтобы разрешить доступ SSH только определенному IP-адресу.

Как это сделать?

  • Шаг 1 : Откройте файл конфигурации SSH.
  • Шаг 2 : Добавьте IP-адрес:
ListenAddress 125.120.11.00 (Example)
  • Шаг 3 : Перезапустите демон SSH.

Вопрос 24 : Какое назначение имеет параметр “LoginGraceTime?”.

Ответ : По умолчанию его значение равно 2 минутам.

Это означает, что когда вы получаете доступ к серверу с помощью SSH, у вас есть 2 минуты, чтобы завершить соединение с точными учетными данными.

Синтаксис

LoginGraceTime 2m

Вопрос 25 : Какое назначение имеет параметр “MaxAuthTries?”.

Ответ: Определяет максимальное количество разрешенных неудачных попыток входа в систему.

Вопрос 26 : Как перезапустить демон SSH?

Ответ : CentOS/RHEL версии до 6

# /etc/init.d/sshd restart

или

# service sshd restart

Более новые версии:

# service sshd restart

Вопрос 27 : Как проверить состояние демона SSH?

Ответ : CentOS/RHEL версии до 6

# /etc/init.d/sshd status

или

# service sshd status

Более новые версии:

# service sshd status

Вопрос 28 : Как ограничить полосу пропускания, используемую командой scp?

Ответ : Это можно сделать с помощью переключателя “l”.

Синтаксис приведен ниже:

# scp -l bandwidth_limit root@host:/home/itsecforu/* /home/itsecforu

Вопрос 29 : Как создать баннер для отображения текстов при входе на сервер через SSH?

Ответ :В конфигурационном файле SSH есть директива для указания файла баннера.

Эта директива называется “Banner”.

Как это сделать?

  • Шаг 1 : SSH на сервер от имени пользователя root.
  • Шаг 2 : Создайте файл с желаемыми текстами в любом месте.
# vi /etc/ssh/mybanner.txt

This server is for authenticated users... Your activities are under surveillance.
  • Шаг 3 : Откройте файл конфигурации SSH.
  • Шаг 4 : Найдите “Banner”.
  • Шаг 5 : Добавьте местоположение файла:
Banner /etc/ssh/mybanner.txt
  • Шаг 6 : Перезапустите демон SSH.

Более подробно:

🕵️‍♂️ Как отобразить баннер/сообщение перед аутентификацией OpenSSH

Вопрос 30 : Что вы подразумеваете под шифром SSH? Каковы различные типы шифров в SSH?

Ответ : Шифр – это алгоритм для выполнения шифрования и дешифрования. В SSH поддерживаются следующие различные типы шифров:

blowfish
des
3des

Вопрос 31 : Как получить доступ к графическому интерфейсу пользователя, используя SSH-соединение?

Ответ : SSH также поддерживает передачу переадресации X11, мы должны использовать опции под названием -XY для открытия GUI приложения сервера с клиента.

Пожалуйста, сообщите мне ваши предложения в комментариях.

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий

  1. Сергей

    п.14
    ахинею какую-то написали.

    с чего бы это вдруг команда *ssh* выдаст версию сервера?

    Ответить
    1. cryptoparty автор
      Ответить