일부 RHEL9 버전에서 아래와 같이 SSH접속이 일방적으로 끊기면서 접속이 되지 않는 현상이 발생할 때가 있다.
Connecting to 10.33.2.10:22... Connection established. To escape to local shell, press 'Ctrl+Alt+]'. Connection closing...Socket close. Connection closed by foreign host. Disconnected from remote host(00. khnp-director) at 09:58:04. Type `help' to learn how to use Xshell prompt.
이 현상은 openssh
버전업 되면서 보안정책이 바뀌어서 발생하는 문제이다.
실제로 정상적인 openssh daemon
의 경우 아래와 같은 설정이 sshd_config
에 포함되어있다.
# To modify the system-wide sshd configuration, create a *.conf file under # /etc/ssh/sshd_config.d/ which will be automatically included below Include /etc/ssh/sshd_config.d/*.conf ########### <<<<< - 이부분 # If you want to change the port on a SELinux system, you have to tell # SELinux about this change. # semanage port -a -t ssh_port_t -p tcp #PORTNUMBER # #Port 22 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress ::
실제 저 sshd_config.d
디렉토리 안에는 아래처럼 파일이 존재하는데
[root@kvm33 sshd_config.d]# ll total 8 -rw-r--r--. 1 root root 141 Nov 21 12:10 01-permitrootlogin.conf -rw-------. 1 root root 719 Sep 23 2022 50-redhat.conf [root@kvm33 sshd_config.d]# cat 50-redhat.conf # This system is following system-wide crypto policy. The changes to # crypto properties (Ciphers, MACs, ...) will not have any effect in # this or following included files. To override some configuration option, # write it before this block or include it before this file. # Please, see manual pages for update-crypto-policies(8) and sshd_config(5). Include /etc/crypto-policies/back-ends/opensshserver.config ######### <<<<<-- 이부분 SyslogFacility AUTHPRIV ChallengeResponseAuthentication no GSSAPIAuthentication yes GSSAPICleanupCredentials no UsePAM yes X11Forwarding yes # It is recommended to use pam_motd in /etc/pam.d/sshd instead of PrintMotd, # as it is more configurable and versatile than the built-in version. PrintMotd no
위와 같이 opensshserver.config
파일내에 openssh 암호화 정책이 선언되어있다.
이 정책파일내에 접속시 암호화 핸드쉐이킹부분이 선언되어있는데 그중 SHA1 정책에 대한 우선순위등이 저 파일내에 존재한다.
하지만 만약 저 파일을 포함하지 않고 기본값으로 openssh 를 기동하게 되면 지원되는 암호화 알고리즘이나 우선순위 정책등이 바뀌게 된다.
그런 이유로 일부 ssh 클라이언트에서는 정책 우선순위나 암호화 방식이 맞지 않아 접속이 끊기게 되는것이다.
따라서 해결방법은 해당 Include
라인이 존재하는지 확인해보면 된다. 아니면 최신 putty
등으로 ssh client를 변경해서 접속하면 된다.