Configure ssh params — различия между версиями
Материал из pNp Wiki
Andy (обсуждение | вклад) (Новая страница: «== Конфигурирование SSH. Параметры подключения == ==== Предварительные требования ==== * Вирту…») |
Andy (обсуждение | вклад) (→Дополнительные параметры) |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 6: | Строка 6: | ||
== Дополнительные параметры == | == Дополнительные параметры == | ||
+ | Поведение <code>ssh</code> сервера задается редактированием файла <code>/etc/ssh/sshd_config</code> | ||
+ | Запретим вход пользователю <code>root</code>, а так же запретим авторизацию по паролям, предварительно | ||
+ | убедившись, что наш ключ находится на целевом сервере, иначе мы не сможем попасть на интересующую нас машину по протоколу <code>ssh</code>! | ||
+ | Нам понадобятся следующие опции: | ||
+ | # <code>PermitRootLogin no</code> - запрещаем подключение пользователем <code>root</code> | ||
+ | # <code>PermitEmptyPasswords no</code> - запрещаем использование пустых паролей | ||
+ | # <code>PasswordAuthentication no</code> - запрещаем использование паролей (вход только по ключам) | ||
+ | # <code>PubkeyAuthentication yes</code> - аутентикация происходит только по ключам | ||
+ | |||
+ | В результате, конфигурационный файл принимает следующий вид: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | 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 ~]# | ||
+ | </syntaxhighlight> | ||
+ | Далее, необходимо заставить <code>ssh</code> перечитать настройки конфигурационного файла: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | [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 ~]# | ||
+ | </syntaxhighlight> | ||
+ | После правки конфигурационного файла, сервис <code>sshd</code> может отображаться как неактивный, однако он будет слушать порт <code>22</code> и принимать соединения. | ||
+ | Проверяем подключение: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | [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 ~]# | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | == Ссылки == | ||
+ | [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/s1-ssh-configuration Configuring OpenSSH]<br /> |
Текущая версия на 11:34, 6 марта 2018
Содержание
Конфигурирование SSH. Параметры подключения
Предварительные требования
- Виртуальная машина с двумя сетевыми интерфейсами
- Установленные пакеты:
bash-completion
,openssh-clients
,openssh-server
Дополнительные параметры
Поведение ssh
сервера задается редактированием файла /etc/ssh/sshd_config
Запретим вход пользователю root
, а так же запретим авторизацию по паролям, предварительно
убедившись, что наш ключ находится на целевом сервере, иначе мы не сможем попасть на интересующую нас машину по протоколу ssh
!
Нам понадобятся следующие опции:
-
PermitRootLogin no
- запрещаем подключение пользователемroot
-
PermitEmptyPasswords no
- запрещаем использование пустых паролей -
PasswordAuthentication no
- запрещаем использование паролей (вход только по ключам) -
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 ~]#