🐧 Как использовать конфигурацию SSH для каждого хоста Linux |

🐧 Как использовать конфигурацию SSH для каждого хоста Linux

Мануал

Secure Shell (SSH) имеет много хитростей в своем арсенале.

Благодаря большому количеству параметров конфигурации вы можете заставить как демон SSH, так и клиент делать практически все, что вам нужно.

Большинство пользователей заканчивают свою конфигурацию SSH файлами sshd_config и ssh_config.

Однако есть еще один файл конфигурации, который придает инструменту гораздо большую гибкость.

Этот файл конфигурации ~/.ssh/config.

В этом файле вы можете настроить SSH для каждого хоста.

Это означает, что вы можете настроить разные хосты так, чтобы они вели себя по-разному.

Например, если вы хотите настроить один конкретный хост с именем пользователя, ключом SSH, включенным пакетным режимом (который говорит SSH никогда не запрашивать ключевую фразу или пароль) и отключенной escape sequence (что позволяет избежать проблем при передаче произвольных данных).

Скажем, другая конфигурация будет использовать определенного пользователя для любого хоста в определенном домене или схеме IP-адресов.

С помощью конфигурационного файла SSH это и многое другое может быть реализовано.

Что вам нужно

Единственное, что вам нужно, чтобы сделать эту работу:

  • Linux-машина с установленным SSH
  • Любое количество удаленных машин, которые разрешают соединения SSH

Как настроить хосты

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

Итак, наш первый хост:

  • Установим имя пользователя
  • Укажем ключ SSH
  • Включим пакетный режим
  • Отключим escape sequence
Второй хост:
  • Установим имя пользователя
  • Включим имя пользователя для всех хостов в определенной сети
Чтобы отредактировать необходимый файл конфигурации, введите команду:
nano ~/.ssh/config
Если вы впервые настраиваете SSH-хосты, этот файл будет пустым.
Наша первая запись будет выглядеть так:
Host Debian
    HostName 10.34.1.40
    User jack
    IdentityFile ~/.ssh/id_rsa.pub
    BatchMode yes
    EscapeChar none
Вы можете назвать хост как угодно.
В моем случае это сервер Debian, поэтому имя назвал его Debian.
Убедитесь, что вы указали HostName в качестве IP-адреса или домена удаленного сервера, а в качестве User – удаленное имя пользователя, которого вы хотите использовать.
Сохраните и закройте файл.
Поскольку мы установили этот параметр, чтобы не запрашивать пароль или парольную фразу, необходимо настроить аутентификацию по ключу SSH.
Чтобы скопировать ключ SSH на удаленный сервер, введите команду:
ssh-copy-id USERNAME@SERVER_IP

Где USERNAME – удаленный пользователь, а SERVER_IP – IP-адрес удаленного сервера.

После того, как вы позаботились об аутентификации по ключу SSH, вы можете подключиться к хосту Debian с помощью команды:

ssh Debian

Вас не спросят адрес или пароль.

Связь почти мгновенная.

Далее, давайте настроим имя пользователя, которое будет использоваться на любом компьютере в данной сети.

Скажем, имя пользователя – jack, а схема сетевого адреса – 192.168.1.0.

Эта конфигурация (опять же, в файле .ssh/config) будет такой:

Host  192.168.1.*
    User jack

Сохраните и закройте файл.

Если вы хотите подключиться к SSH к любому компьютеру в этой сети (по имени пользователя jack по умолчанию), вы можете просто выполнить команду:

ssh SERVER_IP

Где SERVER_IP – это IP-адрес удаленного сервера. Пока этот сервер использует адресную схему 192.168.1.x, он не будет запрашивать имя пользователя.

И это основы настройки SSH для каждого хоста.

Вы можете узнать больше об этом типе установки, выполнив команду:

man ssh_config
Используя эту настройку, использование SSH будет не только упрощено, но и будет более эффективным.

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