우분투 리눅스에서 public key를 이용하여 ssh로 원격 서버에 접속할 때 상당히 느리다는 느낌을 받았는데 솔루션을 찾았습니다.
ssh -v 옵션으로 접속할 때 뭐하는지 살펴보니 다음과 같은 메시지가 나오고 "GSS failure"라고 나오는 부분에서 반복적으로 몇초간 멈춤 현상이 발생하는 것을 발견했습니다.
GSS API를 이용하여 접근 시도를 할 때 나오는 메시지라고 GSS를 사용하지 않도록 변경하면 public key로만 인증을 하게 되어 서버에 빠르게 접속을 할 수 있게 됩니다.
GSS를 사용하지 않기 위해서는 /etc/ssh/ssh_config에서 GSSAPIAuthentication 부분을 찾아 주석을 풀어주고 다음과 같이 no 값을 주면 됩니다.
이렇게 바꿔주니 대략 접속하는데 15초 걸리던 것이 zero wait으로 바뀌더군요.
ssh -v 옵션으로 접속할 때 뭐하는지 살펴보니 다음과 같은 메시지가 나오고 "GSS failure"라고 나오는 부분에서 반복적으로 몇초간 멈춤 현상이 발생하는 것을 발견했습니다.
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-with-mic
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
No credentials cache found
debug1: Unspecified GSS failure. Minor code may provide more information
No credentials cache found
debug1: Unspecified GSS failure. Minor code may provide more information
debug1: Next authentication method: publickey
GSS API를 이용하여 접근 시도를 할 때 나오는 메시지라고 GSS를 사용하지 않도록 변경하면 public key로만 인증을 하게 되어 서버에 빠르게 접속을 할 수 있게 됩니다.
GSS를 사용하지 않기 위해서는 /etc/ssh/ssh_config에서 GSSAPIAuthentication 부분을 찾아 주석을 풀어주고 다음과 같이 no 값을 주면 됩니다.
# HostbasedAuthentication no
GSSAPIAuthentication no
# GSSAPIDelegateCredentials no
# GSSAPIKeyExchange no
이렇게 바꿔주니 대략 접속하는데 15초 걸리던 것이 zero wait으로 바뀌더군요.