ssh_접속시_시간_지연_접속_오래걸림_현상_해결

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
ssh_접속시_시간_지연_접속_오래걸림_현상_해결 [2015/06/18 15:49] – 바깥 편집 127.0.0.1ssh_접속시_시간_지연_접속_오래걸림_현상_해결 [2020/11/28 04:31] (현재) koov
줄 1: 줄 1:
 ====== SSH 접속시 시간 지연(접속 오래걸림)현상 해결 ====== ====== SSH 접속시 시간 지연(접속 오래걸림)현상 해결 ======
  
-sh 로 원격 서버에 연결할 때 특정 서버는 로그인 프롬프트가 뜨는데 오래 걸리는 경우가 있다.+ --- //[[koovis@gmail.com|이강우]] 2016/09/22 15:39// 
 + 
 +===== 원인1 : DNS쿼리 ===== 
 + 
 +ssh 로 원격 서버에 연결할 때 특정 서버는 로그인 프롬프트가 뜨는데 오래 걸리는 경우가 있다.
 찾아 보니 주요 원인은 ssh 서버에서 연결하려는 클라이언트의 IP 를 기반으로 DNS 조회를 하기 때문이다. 찾아 보니 주요 원인은 ssh 서버에서 연결하려는 클라이언트의 IP 를 기반으로 DNS 조회를 하기 때문이다.
 다음 설정으로 sshd 가 DNS 조회를 끌 수 있다.  다음 설정으로 sshd 가 DNS 조회를 끌 수 있다. 
    
-1. sshd_config 파일을 연다.+  - ''/etc/ssh/sshd_config'' 파일을 연다. 
 +  - ''UseDNS no'' 를 추가해 준다. 기존 설정에 ''UseDNS yes'' 가 없거나 주석 처리 되어 있어도 **기본 설정이 yes 이므로 명시적으로 no로 설정**해 주어야 한다. ''UseDNS no'' 
 +  - sshd 를 재기동한다. ''systemctl restart sshd'' 
 +  - ssh 로 다시 연결해서 증상이 사라졌는지 확인한다. 
 + 
 + 
 +===== 원인2 : GSSAPIAuthentication 활성화 ===== 
 + 
 + 
 +ssh를 사용해 원격 컴퓨터에 접속할 때 상당히 오래 기다려야 하는 경우가 있다. 
 +-v 옵션을 사용하면 디버깅 메시지를 볼 수 있는데, 붉은색으로 표시한 부분에서 상당히 지연됨을 알 수 있었다. 
 + 
 +<WRAP prewrap> 
 +<code bash> 
 +$ ssh xx.xxxx.com -v 
 + 
 +............. 
 + 
 +debug1: Authentications that can continue: publickey,gssapi-with-mic,password 
 +debug1: Next authentication method: gssapi-with-mic 
 +debug1: Unspecified GSS failure.  Minor code may provide more information 
 +Credentials cache file '/tmp/krb5cc_1000' not found 
 + 
 +debug1: Unspecified GSS failure.  Minor code may provide more information 
 +Credentials cache file '/tmp/krb5cc_1000' not found 
 + 
 +debug1: Unspecified GSS failure.  Minor code may provide more information 
 + 
 + 
 +debug1: Next authentication method: publickey 
 +debug1: Trying private key: /home/cherrykyun/.ssh/identity 
 +debug1: Trying private key: /home/cherrykyun/.ssh/id_rsa 
 +debug1: Trying private key: /home/cherrykyun/.ssh/id_dsa 
 +debug1: Next authentication method: password 
 +</code> 
 +</WRAP> 
 + 
 +<WRAP center round box 100%> 
 +이 문제에 대한 해결 방안은 2가지 측면에서 고려하여야 한다. 
 +  * 서버 옵션을 변경  (sshd_config) 
 +  * 클라이언트 옵션을 변경  (ssh_config) 
 + 
 +서버 옵션을 변경하는경우 해당 서버에 접속하는 모든 클라이언트에 대해 GSSAPIAuthentication 옵션을 무시하게 되므로 모든 클라이언트가 접속시 상당히 빠르게 접속이 될 것이다. 
 + 
 +클라이언트 옵션을 변경하는경우는 내가 다른 서버에 접속할때 해당 옵션을 사용하지 않게 하여 접속이 빠르게 된다. 
 + 
 +서버관리자로서 사용자들이 불편함을 호소하는경우는 서버 옵션을 바꿔야 할것이고 
 +사용자로서 특정 서버에 접속시 문제가 발생하는경우에는 본인의 클라이언트 옵션을 변경하여야 할것이다. 
 + 
 +필요한 관점에서 접근하도록 하자. 
 +</WRAP> 
 + 
 +==== 서버쪽 설정을 변경하는 경우 ==== 
 + 
 +''/etc/ssh/sshd_config'' 파일에서 "GSSAPIAuthentication no" 로 변경하여 준다. 
 + 
 +<WRAP prewrap> 
 +<code vim /etc/ssh/sshd_config> 
 +.............. 
 +# GSSAPI options 
 + 
 +# 이부분을 no로 변경하여 준다. 
 +GSSAPIAuthentication no 
 +#GSSAPIAuthentication yes 
 + 
 +#GSSAPICleanupCredentials yes 
 +GSSAPICleanupCredentials yes 
 +#GSSAPIStrictAcceptorCheck yes 
 +#GSSAPIKeyExchange no 
 +.............. 
 +</code> 
 +</WRAP> 
 + 
 +==== 클라이언트 설정을 변경하는 경우 ==== 
 +''/etc/ssh/ssh_config'' 파일을 수정하도록 한다. 
 + 
 +<WRAP prewrap> 
 +<code vim /etc/ssh/ssh_config> 
 +Host * 
 +        GSSAPIAuthentication yes # 이부분을 no로 바꿔준다. 
 +</code> 
 +</WRAP>
  
-2. UseDNS no  를 추가해 준다. 기존 설정에 UseDNS yes 가 없거나 주석 처리 되어 있어도 기본 설정이  
-yes 이므로 명시적으로    no로 설정해 주어야 한다. 
-UseDNS no 
  
-3. sshd 를 기동한다.+마지막으로 모든 사항을 적용하고 ssh데몬을 시작 한다.
  
-4. ssh 로 다시 연결해서 증상이 사라졌는지 확인한다.+<code bash> 
 +# service sshd restart 
 +</code>
  
  • ssh_접속시_시간_지연_접속_오래걸림_현상_해결.1434642540.txt.gz
  • 마지막으로 수정됨: 2016/09/22 06:31
  • (바깥 편집)