[RHEL] SSH 접속 빠르게 하기
카테고리: Linux(RHEL, Ubuntu)
문제 상황
폐쇄망 환경에서 새로 세팅한 RHEL 서버에 OpenSSH를 설정했다. 하지만 외부망에 세팅된 서버와 달리 로그인 이전에 접속을 수행하는데 필요한 시간이 10초 정도 딜레이가 생겼다.
해결 방안
해결방안은 간단하다. 폐쇄망 환경에서는 역방향 DNS 조회가 지연되기 때문이다. UseDNS no
로 설정하면 SSH 서버가 직접 클라이언트의 IP를 사용하여 처리하므로 성능이 향상된다.
sudo vim /etc/ssh/sshd_config
- sshd_config
UseDNS no
sudo service sshd restart
UseDNS의 기본 동작
SSH 서버는 기본적으로 클라이언트가 접속할 때, 클라이언트의 IP 주소를 기반으로 역방향 DNS(Reverse DNS) 조회를 수행한다. 그리고 그 결과로 얻은 호스트명이 다시 순방향 DNS(Forward DNS) 조회를 통해 원래의 IP와 일치하는지 확인하는 과정을 거친다. 이 과정이 수행되는 이유는 보안적인 측면에서 클라이언트의 호스트명을 확인하여 신뢰할 수 있는 IP인지 검증하기 위함이다. 하지만, 이 기능은 실제로 보안 강화 효과보다는 접속 속도 저하를 일으키는 경우가 많다.
더군다나 SSH 보안은 UseDNS보다는 방화벽, SSH 키 인증, Fail2Ban 등의 추가적인 보안 설정을 통해 강화하는 것이 더 효과적이기 때문이다.
그래도 느리다면?
UseDNS 외에도 Kerberos 기반 인증을 사용할 때만 필요한 옵션인 GSSAPIAuthentication
옵션을 비활성화하는 것도 도움이 된다.
sudo vim /etc/ssh/sshd_config
- sshd_config
GSSAPIAuthentication yes
를 찾아서 아래와 같이 수정한다.
GSSAPIAuthentication no
sudo service sshd restart