Вопрос или проблема
Я не могу подключиться к серверу A по SSH с любым пользователем, работающим на RHEL 8.4. На прошлой неделе всё работало нормально. В /var/log/secure ничего не отображается, также и в выводе команды systemctl status sshd – файл /etc/ssh/sshd_config настроен на разрешение PasswordAuthentication. Он никогда не запрашивает пароль – в PuTTY соединение закрывается сразу после ввода имени пользователя, а в командной строке просто появляется сообщение “соединение закрыто сервером A”.
При запуске ssh -v root@server я получаю следующий вывод:
OpenSSH_for_Windows_8.6p1, LibreSSL 3.4.3
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug1: Connecting to serverA [serverA] port 22.
debug1: Connection established.
debug1: identity file C:\Users\userA/.ssh/id_rsa type -1
debug1: identity file C:\Users\userA/.ssh/id_rsa-cert type -1
debug1: identity file C:\Users\userA/.ssh/id_dsa type -1
debug1: identity file C:\Users\userA/.ssh/id_dsa-cert type -1
debug1: identity file C:\Users\userA/.ssh/id_ecdsa type -1
debug1: identity file C:\Users\userA/.ssh/id_ecdsa-cert type -1
debug1: identity file C:\Users\userA/.ssh/id_ecdsa_sk type -1
debug1: identity file C:\Users\userA/.ssh/id_ecdsa_sk-cert type -1
debug1: identity file C:\Users\userA/.ssh/id_ed25519 type -1
debug1: identity file C:\Users\userA/.ssh/id_ed25519-cert type -1
debug1: identity file C:\Users\userA/.ssh/id_ed25519_sk type -1
debug1: identity file C:\Users\userA/.ssh/id_ed25519_sk-cert type -1
debug1: identity file C:\Users\userA/.ssh/id_xmss type -1
debug1: identity file C:\Users\userA/.ssh/id_xmss-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_for_Windows_8.6
debug1: Remote protocol version 2.0, remote software version OpenSSH_8.0
debug1: compat_banner: match: OpenSSH_8.0 pat OpenSSH* compat 0x04000000
debug1: Authenticating to serverA:22 as 'root'
debug1: load_hostkeys: fopen C:\Users\userA/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen __PROGRAMDATA__\ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen __PROGRAMDATA__\ssh/ssh_known_hosts2: No such file or directory
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: ssh-ed25519
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: SSH2_MSG_KEX_ECDH_REPLY received
debug1: load_hostkeys: fopen C:\Users\userA/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen __PROGRAMDATA__\ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen __PROGRAMDATA__\ssh/ssh_known_hosts2: No such file or directory
debug1: Host 'serverA' is known and matches the ED25519 host key.
debug1: Found key in C:\Users\userA/.ssh/known_hosts:1
debug1: rekey out after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey in after 134217728 blocks
debug1: pubkey_prepare: ssh_get_authentication_socket: No such file or directory
debug1: Will attempt key: C:\Users\userA/.ssh/id_rsa
debug1: Will attempt key: C:\Users\userA/.ssh/id_dsa
debug1: Will attempt key: C:\Users\userA/.ssh/id_ecdsa
debug1: Will attempt key: C:\Users\userA/.ssh/id_ecdsa_sk
debug1: Will attempt key: C:\Users\userA/.ssh/id_ed25519
debug1: Will attempt key: C:\Users\userA/.ssh/id_ed25519_sk
debug1: Will attempt key: C:\Users\userA/.ssh/id_xmss
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521>
debug1: SSH2_MSG_SERVICE_ACCEPT received
Connection closed by serverA port 22
Запускаю sshd -ddd на сервере A, я вижу следующую ошибку:
userauth-request for user root service ssh-connection method none
Полный вывод:
debug2: load_server_config: filename /etc/ssh/sshd_config
debug2: load_server_config: done config len = 734
debug2: parse_server_config_depth: config /etc/ssh/sshd_config len 734
debug3: /etc/ssh/sshd_config:22 setting HostKey /etc/ssh/ssh_host_rsa_key
debug3: /etc/ssh/sshd_config:23 setting HostKey /etc/ssh/ssh_host_ecdsa_key
debug3: /etc/ssh/sshd_config:24 setting HostKey /etc/ssh/ssh_host_ed25519_key
debug3: /etc/ssh/sshd_config:37 setting SyslogFacility AUTHPRIV
debug3: /etc/ssh/sshd_config:43 setting PermitRootLogin yes
debug3: /etc/ssh/sshd_config:52 setting AuthorizedKeysFile .ssh/authorized_keys
debug3: /etc/ssh/sshd_config:70 setting PasswordAuthentication yes
debug3: /etc/ssh/sshd_config:74 setting ChallengeResponseAuthentication no
debug3: /etc/ssh/sshd_config:84 setting GSSAPIAuthentication yes
debug3: /etc/ssh/sshd_config:85 setting GSSAPICleanupCredentials no
debug3: /etc/ssh/sshd_config:101 setting UsePAM yes
debug3: /etc/ssh/sshd_config:106 setting X11Forwarding yes
debug3: /etc/ssh/sshd_config:113 setting PrintMotd no
debug3: /etc/ssh/sshd_config:132 setting AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
debug3: /etc/ssh/sshd_config:133 setting AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
debug3: /etc/ssh/sshd_config:134 setting AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
debug3: /etc/ssh/sshd_config:135 setting AcceptEnv XMODIFIERS
debug3: /etc/ssh/sshd_config:138 setting Subsystem sftp /usr/libexec/openssh/sftp-server
debug1: sshd version OpenSSH_8.0, OpenSSL 1.1.1k FIPS 25 Mar 2021
debug1: private host key #0: ssh-rsa SHA256:GwaDpWqZk3FQrfNmD4GqWDEcd1zur+dXZsbArmzrcGs
debug1: private host key #1: ecdsa-sha2-nistp256 SHA256:3aAAv+pS/mxSCadlScgN8CD6bclzSfzyZ5re9Cb30h0
debug1: private host key #2: ssh-ed25519 SHA256:7lS8fhUowMoIC8/5DJ0k62I6fzK1eA5PTClqFR0g4HM
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-ddd'
debug1: rexec_argv[2]='-E'
debug1: rexec_argv[3]='/tmp/ssh.log'
debug3: oom_adjust_setup
debug1: Set /proc/self/oom_score_adj from 0 to -1000
debug2: fd 4 setting O_NONBLOCK
debug1: Bind to port 22 on 0.0.0.0.
Server listening on 0.0.0.0 port 22.
debug2: fd 5 setting O_NONBLOCK
debug3: sock_set_v6only: set socket 5 IPV6_V6ONLY
debug1: Bind to port 22 on ::.
Server listening on :: port 22.
debug2: load_server_config: filename /etc/ssh/sshd_config
debug2: load_server_config: done config len = 734
debug2: parse_server_config_depth: config /etc/ssh/sshd_config len 734
debug3: /etc/ssh/sshd_config:22 setting HostKey /etc/ssh/ssh_host_rsa_key
debug3: /etc/ssh/sshd_config:23 setting HostKey /etc/ssh/ssh_host_ecdsa_key
debug3: /etc/ssh/sshd_config:24 setting HostKey /etc/ssh/ssh_host_ed25519_key
debug3: /etc/ssh/sshd_config:37 setting SyslogFacility AUTHPRIV
debug3: /etc/ssh/sshd_config:43 setting PermitRootLogin yes
debug3: /etc/ssh/sshd_config:52 setting AuthorizedKeysFile .ssh/authorized_keys
debug3: /etc/ssh/sshd_config:70 setting PasswordAuthentication yes
debug3: /etc/ssh/sshd_config:74 setting ChallengeResponseAuthentication no
debug3: /etc/ssh/sshd_config:84 setting GSSAPIAuthentication yes
debug3: /etc/ssh/sshd_config:85 setting GSSAPICleanupCredentials no
debug3: /etc/ssh/sshd_config:101 setting UsePAM yes
debug3: /etc/ssh/sshd_config:106 setting X11Forwarding yes
debug3: /etc/ssh/sshd_config:113 setting PrintMotd no
debug3: /etc/ssh/sshd_config:132 setting AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
debug3: /etc/ssh/sshd_config:133 setting AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
debug3: /etc/ssh/sshd_config:134 setting AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
debug3: /etc/ssh/sshd_config:135 setting AcceptEnv XMODIFIERS
debug3: /etc/ssh/sshd_config:138 setting Subsystem sftp /usr/libexec/openssh/sftp-server
debug1: sshd version OpenSSH_8.0, OpenSSL 1.1.1k FIPS 25 Mar 2021
debug1: private host key #0: ssh-rsa SHA256:GwaDpWqZk3FQrfNmD4GqWDEcd1zur+dXZsbArmzrcGs
debug1: private host key #1: ecdsa-sha2-nistp256 SHA256:3aAAv+pS/mxSCadlScgN8CD6bclzSfzyZ5re9Cb30h0
debug1: private host key #2: ssh-ed25519 SHA256:7lS8fhUowMoIC8/5DJ0k62I6fzK1eA5PTClqFR0g4HM
debug1: inetd sockets after dupping: 5, 5
Connection from ::1 port 56500 on ::1 port 22
debug1: Local version string SSH-2.0-OpenSSH_8.0
debug1: Remote protocol version 2.0, remote software version OpenSSH_8.0
debug1: match: OpenSSH_8.0 pat OpenSSH* compat 0x04000000
debug2: fd 5 setting O_NONBLOCK
debug3: ssh_sandbox_init: preparing seccomp filter sandbox
debug2: Network child is on pid 8363
debug3: preauth child monitor started
debug1: SELinux support enabled [preauth]
debug1: ssh_selinux_change_context: setting context from 'unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023' to 'unconfined_u:unconfined_r:sshd_net_t:s0-s0:c0.c1023' [preauth]
debug3: ssh_selinux_change_context: setcon unconfined_u:unconfined_r:sshd_net_t:s0-s0:c0.c1023 from unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 failed with Invalid argument [preauth]
debug3: privsep user:group 74:74 [preauth]
debug1: permanently_set_uid: 74/74 [preauth]
debug3: ssh_sandbox_child: setting PR_SET_NO_NEW_PRIVS [preauth]
debug3: ssh_sandbox_child: attaching seccomp filter program [preauth]
debug1: list_hostkey_types: rsa-sha2-512,rsa-sha2-256,ssh-rsa,ecdsa-sha2-nistp256,ssh-ed25519 [preauth]
debug3: send packet: type 20 [preauth]
debug1: SSH2_MSG_KEXINIT sent [preauth]
debug3: receive packet: type 20 [preauth]
debug1: SSH2_MSG_KEXINIT received [preauth]
debug2: local server KEXINIT proposal [preauth]
debug2: KEX algorithms: curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1 [preauth]
debug2: host key algorithms: rsa-sha2-512,rsa-sha2-256,ssh-rsa,ecdsa-sha2-nistp256,ssh-ed25519 [preauth]
debug2: ciphers ctos: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected] [preauth]
debug2: ciphers stoc: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected] [preauth]
debug2: MACs ctos: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1 [preauth]
debug2: MACs stoc: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1 [preauth]
debug2: compression ctos: none,[email protected] [preauth]
debug2: compression stoc: none,[email protected] [preauth]
debug2: languages ctos: [preauth]
debug2: languages stoc: [preauth]
debug2: first_kex_follows 0 [preauth]
debug2: reserved 0 [preauth]
debug2: peer client KEXINIT proposal [preauth]
debug2: KEX algorithms: curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,ext-info-c [preauth]
debug2: host key algorithms: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa [preauth]
debug2: ciphers ctos: [email protected],[email protected],aes256-ctr,aes256-cbc,[email protected],aes128-ctr,aes128-cbc [preauth]
debug2: ciphers stoc: [email protected],[email protected],aes256-ctr,aes256-cbc,[email protected],aes128-ctr,aes128-cbc [preauth]
debug2: MACs ctos: [email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha1,[email protected],hmac-sha2-512 [preauth]
debug2: MACs stoc: [email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha1,[email protected],hmac-sha2-512 [preauth]
debug2: compression ctos: none,[email protected],zlib [preauth]
debug2: compression stoc: none,[email protected],zlib [preauth]
debug2: languages ctos: [preauth]
debug2: languages stoc: [preauth]
debug2: first_kex_follows 0 [preauth]
debug2: reserved 0 [preauth]
debug1: kex: algorithm: curve25519-sha256 [preauth]
debug1: kex: host key algorithm: ecdsa-sha2-nistp256 [preauth]
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none [preauth]
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none [preauth]
debug1: kex: curve25519-sha256 need=32 dh_need=32 [preauth]
debug3: mm_request_send entering: type 120 [preauth]
debug3: mm_request_receive_expect entering: type 121 [preauth]
debug3: mm_request_receive entering [preauth]
debug3: mm_request_receive entering
debug3: monitor_read: checking request 120
debug3: mm_request_send entering: type 121
debug1: kex: curve25519-sha256 need=32 dh_need=32 [preauth]
debug3: mm_request_send entering: type 120 [preauth]
debug3: mm_request_receive_expect entering: type 121 [preauth]
debug3: mm_request_receive entering [preauth]
debug3: mm_request_receive entering
debug3: monitor_read: checking request 120
debug3: mm_request_send entering: type 121
debug1: expecting SSH2_MSG_KEX_ECDH_INIT [preauth]
debug3: receive packet: type 30 [preauth]
debug3: mm_sshkey_sign entering [preauth]
debug3: mm_request_send entering: type 6 [preauth]
debug3: mm_sshkey_sign: waiting for MONITOR_ANS_SIGN [preauth]
debug3: mm_request_receive_expect entering: type 7 [preauth]
debug3: mm_request_receive entering [preauth]
debug3: mm_request_receive entering
debug3: monitor_read: checking request 6
debug3: mm_answer_sign
debug3: mm_answer_sign: hostkey proof signature 0x55639ba6a250(101)
debug3: mm_request_send entering: type 7
debug2: monitor_read: 6 used once, disabling now
debug3: send packet: type 31 [preauth]
debug3: send packet: type 21 [preauth]
debug2: set_newkeys: mode 1 [preauth]
debug1: rekey out after 4294967296 blocks [preauth]
debug1: SSH2_MSG_NEWKEYS sent [preauth]
debug1: expecting SSH2_MSG_NEWKEYS [preauth]
debug3: send packet: type 7 [preauth]
debug3: receive packet: type 21 [preauth]
debug1: SSH2_MSG_NEWKEYS received [preauth]
debug2: set_newkeys: mode 0 [preauth]
debug1: rekey in after 4294967296 blocks [preauth]
debug1: KEX done [preauth]
debug3: receive packet: type 5 [preauth]
debug3: send packet: type 6 [preauth]
debug3: receive packet: type 50 [preauth]
debug1: userauth-request for user root service ssh-connection method none [preauth]
debug1: attempt 0 failures 0 [preauth]
debug3: mm_getpwnamallow entering [preauth]
debug3: mm_request_send entering: type 8 [preauth]
debug3: mm_getpwnamallow: waiting for MONITOR_ANS_PWNAM [preauth]
debug3: mm_request_receive_expect entering: type 9 [preauth]
debug3: mm_request_receive entering [preauth]
debug3: mm_request_receive entering
debug3: monitor_read: checking request 8
debug3: mm_answer_pwnamallow
debug2: parse_server_config_depth: config reprocess config len 734
debug3: mm_answer_pwnamallow: sending MONITOR_ANS_PWNAM: 1
debug3: mm_request_send entering: type 9
debug2: monitor_read: 8 used once, disabling now
debug2: input_userauth_request: setting up authctxt for root [preauth]
debug3: mm_start_pam entering [preauth]
debug3: mm_request_send entering: type 100 [preauth]
debug3: mm_inform_authserv entering [preauth]
debug3: mm_request_send entering: type 4 [preauth]
debug3: mm_inform_authrole entering [preauth]
debug3: mm_request_send entering: type 80 [preauth]
debug2: input_userauth_request: try method none [preauth]
debug3: mm_request_receive entering
debug3: monitor_read: checking request 100
debug1: PAM: initializing for "root"
debug1: PAM: setting PAM_RHOST to "::1"
debug1: PAM: setting PAM_TTY to "ssh"
debug2: monitor_read: 100 used once, disabling now
debug3: user_specific_delay: user specific delay 0.000ms [preauth]
debug3: ensure_minimum_time_since: elapsed 1.235ms, delaying 4.731ms (requested 5.966ms) [preauth]
debug1: monitor_read_log: child log fd closed
debug3: mm_request_receive entering
debug3: monitor_read: checking request 4
debug3: mm_answer_authserv: service=ssh-connection, style=
debug2: monitor_read: 4 used once, disabling now
debug3: mm_request_receive entering
debug3: monitor_read: checking request 80
debug3: mm_answer_authrole: role=
debug2: monitor_read: 80 used once, disabling now
debug3: mm_request_receive entering
debug1: do_cleanup
debug1: PAM: cleanup
debug3: PAM: sshpam_thread_cleanup entering
debug1: Killing privsep child 8363
Интересно, что если я запущу nmap на сервере A, я также вижу это:
Host is up (0.00013s latency).
PORT STATE SERVICE
22/tcp open ssh
| ssh-auth-methods:
|_ Supported authentication methods: false
Попытка подключиться по ssh с параметрами PreferredAuthentications=passwrod и PubkeyAuthentication=no приводит к тем же результатам.
Копия /etc/ssh/ssh_config
# $OpenBSD: ssh_config,v 1.34 2019/02/04 02:39:42 dtucker Exp $
# Это системный файл конфигурации клиента ssh. Смотрите
# ssh_config(5) для дополнительной информации. Этот файл задаёт
# значения по умолчанию для пользователей, и их можно изменить в конфигурационных файлах
# пользователя или в командной строке.
# Данные конфигурации обрабатываются следующим образом:
# 1. параметры командной строки
# 2. файл, специфичный для пользователя
# 3. системный файл
# Любое значение конфигурации изменяется только в первый раз.
# Следовательно, специфичные для хоста определения должны быть в начале
# конфигурационного файла, а значения по умолчанию в конце.
# Системные параметры по умолчанию для некоторых часто используемых опций. Для всеобъемлющего
# списка доступных опций, их значений и значений по умолчанию, пожалуйста, смотрите
# мануал ssh_config(5).
# Host *
# ForwardAgent no
# ForwardX11 no
# PasswordAuthentication yes
# HostbasedAuthentication no
# GSSAPIAuthentication no
# GSSAPIDelegateCredentials no
# GSSAPIKeyExchange no
# GSSAPITrustDNS no
# BatchMode no
# CheckHostIP yes
# AddressFamily any
# ConnectTimeout 0
# StrictHostKeyChecking ask
# IdentityFile ~/.ssh/id_rsa
# IdentityFile ~/.ssh/id_dsa
# IdentityFile ~/.ssh/id_ecdsa
# IdentityFile ~/.ssh/id_ed25519
# Port 22
# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc
# MACs hmac-md5,hmac-sha1,[email protected]
# EscapeChar ~
# Tunnel no
# TunnelDevice any:any
# PermitLocalCommand no
# VisualHostKey no
# ProxyCommand ssh -q -W %h:%p gateway.example.com
# RekeyLimit 1G 1h
#
# Эта система следует системной крипто политике.
# Чтобы изменить системную конфигурацию ssh, создайте *.conf файл в каталоге
# /etc/ssh/ssh_config.d/, который будет автоматически включен ниже
Include /etc/ssh/ssh_config.d/*.conf
Копия /etc/ssh/sshd_config
# $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $
# Это системный файл конфигурации сервера sshd. См.
# sshd_config(5) для дополнительной информации.
# Этот sshd был скомпилирован с PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
# Стратегия, используемая для параметров в стандартном sshd_config, поставляемом с
# OpenSSH, заключается в том, чтобы задавать параметры с их значениями по умолчанию, где
# это возможно, но оставлять их закомментированными. Комментарии отменяют
# значение по умолчанию.
# Если вы хотите изменить порт на системе SELinux, вам нужно сообщить
# SELinux об этом изменении:
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
# Шифры и ключи
#RekeyLimit default none
# Эта система следует системной крипто политике. Изменения в
# криптографических свойствах (шифры, MAC и т.д.) не будут иметь никакого эффекта здесь.
# Они будут переопределены параметрами командной строки, переданными серверу
# через командную строку.
# Пожалуйста, проверьте справочные страницы для update-crypto-policies(8) и sshd_config(5).
# Логирование
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO
# Аутентификация:
#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
#PubkeyAuthentication yes
# Значение по умолчанию - проверять как .ssh/authorized_keys, так и .ssh/authorized_keys2,
# но это переопределяется, так что установки будут проверять только .ssh/authorized_keys
AuthorizedKeysFile .ssh/authorized_keys
#AuthorizedPrincipalsFile none
#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody
# Для того чтобы это работало, вам также нужны ключи хоста в /etc/ssh/ssh_known_hosts
#HostbasedAuthentication no
# Измените на yes, если вы не доверяете ~/.ssh/known_hosts для
# HostbasedAuthentication
#IgnoreUserKnownHosts no
# Не читаете файлы ~/.rhosts и ~/.shosts пользователя
#IgnoreRhosts yes
# Чтобы отключить перенаправленные пароли в открытом виде, измените на no здесь!
#PasswordAuthentication yes
#PermitEmptyPasswords no
PasswordAuthentication yes
# Измените на no, чтобы отключить пароли s/key
#ChallengeResponseAuthentication yes
ChallengeResponseAuthentication no
# Опции Kerberos
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no
#KerberosUseKuserok yes
# Опции GSSAPI
GSSAPIAuthentication yes
GSSAPICleanupCredentials no
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no
#GSSAPIEnablek5users no
# Установите это в 'yes', чтобы включить аутентификацию PAM, обработку учетных записей
# и обработку сеансов. Если это включено, аутентификация PAM будет
# разрешена через ChallengeResponseAuthentication и
# PasswordAuthentication. В зависимости от вашей конфигурации PAM
# аутентификация PAM через ChallengeResponseAuthentication может обойти
# установку "PermitRootLogin without-password".
# Если вы просто хотите, чтобы проверки учетных записей и сеансов PAM выполнялись без
# аутентификации PAM, то активируйте это, но установите PasswordAuthentication
# и ChallengeResponseAuthentication в 'no'.
# ПРЕДУПРЕЖДЕНИЕ: 'UsePAM no' не поддерживается в RHEL и может вызвать несколько
# проблем.
UsePAM yes
#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PermitTTY yes
# Рекомендуется использовать pam_motd в /etc/pam.d/sshd вместо PrintMotd,
# так как это более настраиваемо и универсально, чем встроенная версия.
PrintMotd no
#PrintLastLog yes
#TCPKeepAlive yes
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS no
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none
# нет пути по умолчанию для баннера
#Banner none
# Принять переменные среды, связанные с локалью
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
# Пример переопределения настроек на основании пользователя
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# PermitTTY no
# ForceCommand cvs server
Я не уверен, что изменилось – внутренний экранный фильтр видит трафик нормально и не имел изменений. Ничего в истории yum не подразумевает обновления, и я могу успешно подключаться к другим серверам. Мне кажется, что это что-то, что прямо передо мной – что я здесь пропустил?
- Вы пишете:
файл /etc/ssh/sshd_config настроен на разрешение PasswordAuthentication
(вы явно имели в виду файл /etc/ssh/sshd_config
)
но результатом является
userauth-request for user root service ssh-connection method none
=> Эти утверждения противоречивы.
- Вы утверждаете, что у вас нет записей в журналах серверов.
=> Это соответствует сообщению ssh-connection method none
выше. Отсутствие метода соединения не является ошибкой, а состоянием конфигурации.
*В результате на ssh-сервере не настроен метод аутентификации. Следовательно, аутентификация не может быть выполнена, и связь при входе завершается обычным отключением раньше *
В противном случае мы увидели бы сообщение, вроде этого, в вашем отладочном журнале в позиции, вместо Connection closed by serverA port 22
:
debug1: Next authentication method: password
Таким образом, первой вещью, которую нужно проверить на наличие ошибки, является проверка конфигурации ssh-сервера в
/etc/ssh/sshd_config
К сожалению, ваша задумка вставить этот файл привела к вставке /etc/ssh/ssh_config
(без d
после ssh
)
Поскольку вы не уверены в том, что отключили аутентификацию по паролю, я думаю, что в этом должна быть опечатка, т.е. вы случайно удалили комментарий #
(или третий участник изменил sshd_config
).
Пожалуйста, проверьте файл на наличие
PasswordAuthentication
- Убедитесь, что значение этой записи установлено на
yes
и не закомментировано#
:
PasswordAuthentication yes
Это должно быть значением по умолчанию, но скомпилированные значения по умолчанию также можно изменить…
-
Проверьте весь файл на наличие других записей ключевого слова и отключите или удалите их.
-
После изменения
sshd_config
sshd должен быть перезапущен:
systemctl restart sshd
- Также, если вы ничего не меняли, пожалуйста, перезапустите
sshd
, так как вполне возможно, что уже примененные изменения ваших тестов еще не были прочитаныsshd
(перезапустив его).
Если ошибка сохраняется, вы должны обновить свой вопрос с настоящим /etc/ssh/sshd_config
, чтобы мы могли на него взглянуть.
Ответ или решение
Проблема с отсутствием доступа к серверу через SSH, особенно если вы получаете сообщение о закрытом соединении и можете наблюдать строки, указывающие на отсутствие методов аутентификации, может быть решена через несколько шагов по диагностике и исправлению. Опираясь на вашу предоставленную информацию, вот подробное руководство.
1. Проверка конфигурации SSHD
Поскольку вы указали, что в файле /etc/ssh/sshd_config
установлено значение PasswordAuthentication
, начнем с осмотра всей конфигурации этого файла. Ваша передача на sshd_config
могла не содержать всех нужных строк, и это может стать источником ошибки.
-
Убедитесь, что строка с
PasswordAuthentication
выглядит следующим образом:PasswordAuthentication yes
-
Убедитесь, что она не закомментирована символом
#
. Если такие строки существуют повторно или с другим значением, удалите их либо измените на необходимые.
2. Перезагрузка SSHD
Изменения в конфигурационном файле sshd_config
становятся активными только после перезагрузки службы. Для этого выполните команду:
sudo systemctl restart sshd
3. Проверка логов
Вы упомянули, что в /var/log/secure
нет записей, что может указывать на то, что сервер не обрабатывает аутентификацию вообще. Убедитесь, что уровень логирования в конфигурации установлен на минимум INFO
:
LogLevel INFO
Вы также можете увеличить уровень логирования до DEBUG
для более подробного вывода, если ни одно из изменений не помогло. Это делается через изменение именно в sshd_config
:
LogLevel DEBUG
Не забудьте снова перезагрузить SSHD.
4. Проверка PAM и SELinux
Если ваш сервер использует PAM (Pluggable Authentication Modules), убедитесь, что настройки в /etc/pam.d/sshd
соответствуют вашим требованиям и не блокируют стандартную аутентификацию.
Также проверьте настройки SELinux. Если SELinux включен, он может блокировать доступ, и это может быть причиной проблемы:
sestatus
Если SELinux активен, временно переключите его в режим permissive
:
sudo setenforce 0
Это снятие ограничений может помочь определить, является ли он источником проблемы.
5. Проверка брандмауэра
Убедитесь, что брандмауэр не блокирует соединения на порту 22. Это можно проверить с помощью следующих команд:
sudo firewall-cmd --list-all
Если SSH не включен, вы можете добавить его:
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
6. Проверка сетевых подключений
С помощью nmap
можно проверить, что сервер действительно прослушивает 22-й порт и принимает подключения:
nmap -p 22 serverA
Если вы видите, что SSH открыт, но не принимаются подключения, это может указывать на локальные проблемы сервера, а не на проблемы с конфигурацией SSH.
Заключение
Если все вышеперечисленные шаги не привели к решению проблемы, вам следует выполнить дополнительные действия, такие как временное отключение всех внешних модуля авторизации, чтобы изолировать проблему, а затем поочередно их включать обратно. Также стоит рассмотреть возможность отката к последним резервным копиям конфигурационных файлов, если изменения в них недавно вносились и привели к текущей проблеме.
Проблемы с SSH могут быть сложными, поэтому требуется терпение и систематический подход к диагностике.