Configure ssh params

Материал из pNp Wiki
Перейти к: навигация, поиск

Конфигурирование SSH. Параметры подключения

Предварительные требования

  • Виртуальная машина с двумя сетевыми интерфейсами
  • Установленные пакеты: bash-completion, openssh-clients, openssh-server

Дополнительные параметры

Поведение ssh сервера задается редактированием файла /etc/ssh/sshd_config Запретим вход пользователю root, а так же запретим авторизацию по паролям, предварительно убедившись, что наш ключ находится на целевом сервере, иначе мы не сможем попасть на интересующую нас машину по протоколу ssh! Нам понадобятся следующие опции:

  1. PermitRootLogin no - запрещаем подключение пользователем root
  2. PermitEmptyPasswords no - запрещаем использование пустых паролей
  3. PasswordAuthentication no - запрещаем использование паролей (вход только по ключам)
  4. PubkeyAuthentication yes - аутентикация происходит только по ключам

В результате, конфигурационный файл принимает следующий вид:

HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
SyslogFacility AUTHPRIV
PermitRootLogin no
PubkeyAuthentication yes
AuthorizedKeysFile	.ssh/authorized_keys
PermitEmptyPasswords no
PasswordAuthentication no
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials no
UsePAM yes
X11Forwarding yes
UsePrivilegeSeparation sandbox		# Default for new installations.
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
Subsystem	sftp	/usr/libexec/openssh/sftp-server
[root@vm-01 ~]#

Далее, необходимо заставить ssh перечитать настройки конфигурационного файла:

[root@vm-01 ~]# systemctl is-active sshd
active
[root@vm-01 ~]# systemctl reload sshd
[root@vm-01 ~]# systemctl is-active sshd
inactive
[root@vm-01 ~]# systemctl status -l sshd
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Tue 2018-02-27 03:28:29 MSK; 14s ago
     Docs: man:sshd(8)
           man:sshd_config(5)
  Process: 10989 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS)
  Process: 10890 ExecStart=/usr/sbin/sshd $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 10868 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/sshd.service
           └─10990 /usr/sbin/sshd

Feb 27 03:17:36 vm-01 systemd[1]: Starting OpenSSH server daemon...
Feb 27 03:17:36 vm-01 systemd[1]: Started OpenSSH server daemon.
Feb 27 03:28:29 vm-01 sshd[10868]: Received SIGHUP; restarting.
Feb 27 03:28:29 vm-01 systemd[1]: Reloaded OpenSSH server daemon.
Feb 27 03:28:29 vm-01 sshd[10990]: Server listening on 0.0.0.0 port 22.
Feb 27 03:28:29 vm-01 sshd[10990]: Server listening on :: port 22.
[root@vm-01 ~]#

После правки конфигурационного файла, сервис sshd может отображаться как неактивный, однако он будет слушать порт 22 и принимать соединения. Проверяем подключение:

[andy@vm-02 ~]$ ssh andy@192.168.1.1
Last login: Tue Feb 27 03:30:38 2018 from 192.168.1.2
[andy@vm-01 ~]$ su -
Password: 
Last login: Tue Feb 27 02:25:07 MSK 2018 from gateway on pts/0
[root@vm-01 ~]# systemctl is-active sshd
inactive
[root@vm-01 ~]#

Ссылки

Configuring OpenSSH