Centos. Установка и настройка SSH.
SSH (Secure Shell) - это сетевой протокол, обеспечивающий функции шелла на удалённой машине через безопасный (защищенный) канал.
OpenSSH - это реализация протокола SSH с открытым исходным кодом, состоящая из OpenSSH сервера sshd (SSH daemon) и OpenSSH клиента, который включает в себя: scp (программу для безопасного удалённого копирования), sftp (программу для безопасной передачи файлов), ssh (программу для безопасного удалённого входа), ssh-add (программу дополнение закрытого ключа), ssh-agent (программу агента аутентификации), ssh-keygen (программу управления ключами аутентификации).
Установка необходимого программного обеспечения OpenSSH сервера и клиента.
# yum -y install openssh-server openssh-clients
Проверка автоматического запуска OpenSSH сервера при старте системы.
# systemctl is-enabled sshd
Разрешение и запред автоматического запуска.
# systemctl enable sshd
# systemctl disable sshd
Проверка активности OpenSSH сервера.
# systemctl is-active sshd
Проверка статуса OpenSSH сервера.
# systemctl status sshd
Перезапуск OpenSSH сервера.
# systemctl restart sshd
Остановка OpenSSH сервера.
# systemctl stop sshd
Запуск OpenSSH сервера.
# systemctl start sshd
Настройка OpenSSH сервера sshd
(аутентификация по открытому ключу).
Настройка OpenSSH сервера выполняется редактированием файла конфигурации (настроек)
/etc/ssh/sshd_config
Перед внесением изменений в файл конфигурации желательно создать копию оригинального файла и защитить ее от записи.
# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
# chmod a-w /etc/ssh/sshd_config.original
Пример содержания файла sshd_config:
Port 22
AddressFamily inet
ListenAddress 0.0.0.0
HostKey /etc/ssh/ssh_host_rsa_key
Protocol 2
LogLevel INFO
SyslogFacility AUTH
PubkeyAuthentication yes
PasswordAuthentication no
RhostsRSAAuthentication no
HostbasedAuthentication no
ChallengeResponseAuthentication no
UseDNS no
UsePAM yes
LoginGraceTime 1m
PermitRootLogin yes
PermitEmptyPasswords no
UsePrivilegeSeparation yes
AuthorizedKeysFile .ssh/authorized_keys
AllowUsers root
Subsystem sftp /usr/libexec/openssh/sftp-server
Генерация пары ключей RSA для пользователя SSH
Сменим в консоли пользователя root на пользователя (например: alexmig) для которого будем генерировать пару ключей RSA.
Секретный (id_rsa) и публичный (id_rsa.pub)
# su alexmig
Далее необходимо выполнить следующие команды уже от имени пользователя alexmig:
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys