너무 느린 ssh 로그인 속도를 높이는 방법은 무엇입니까?


42

달리는 ssh user@hostname데 ~ 30 초가 걸립니다. 시나리오는 다음과 같습니다.

  • 이것은 로컬 LAN의 VM입니다.
  • Windows 및 Mac 컴퓨터에서 즉시 로그인
  • 데비안을 사용하고 있으며 우분투 머신으로 재생할 수 있습니다
  • 우분투를 사용하는 사람은 내 컴퓨터 (로컬 LAN)에 로그인하는 것도 즉각적이라고 말합니다.
  • 호스트 이름 IP 주소를 사용하는 데 약 절반의 시간이 걸립니다 (~ 15 초)

[ 업데이트 ]

를 사용 ssh -vvv user@hostname하면 가장 많이 기다리는 위치는 다음과 같습니다.

debug3: authmethod_lookup gssapi-with-mic
debug3: remaining preferred: publickey,keyboard-interactive,password
debug3: authmethod_is_enabled gssapi-with-mic
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

1
비밀번호 또는 pubkey 인증을 사용합니까? 그리고 비밀번호 인 경우 a id_dsa또는 id_rsa파일이 ~/.ssh? 아마도 ssh 설치가 먼저 잘못된 인증을 시도하고 서버는 거부하지 않고 단순히 30
초의

@tobias 비밀번호를 사용하는데 "~/.ssh"파일 이 없습니다 . 그것은 디렉토리이며 "known_hosts"파일 만 있습니다 .
tshepang

5
15 초의 DNS 시간 초과가있는 것 같습니다. 서버가 DNS 조회를 수행하고있을 수 있습니다. 당신이 할 수 있는지 확인하십시오, 당신은 UseDNS nosshd_config서버. 어쨌든 ssh -vvv user@hostname로그인이 걸려있는 위치를 확인 하려면 실행 하십시오.
Gilles 'SO- 악마 그만해'

@ 길 감사합니다. 질문을 업데이트했습니다. 관리자에게 해당 UseDNS 설정 을 확인하도록 요청합니다 .
tshepang

3
@Tshepang : 아, Kerberos (GSSAPI) 인증을 사용하고 있습니다. 익숙하지 않습니다. 잘못 구성된 경우 지연이 발생했을 수 있습니다. 이것은 관리자에게 물어볼 수있는 것입니다. DNS는 붉은 청어 일 수 있습니다. 야생에서 가장 흔한 원인이지만 문제가 다를 수 있습니다.
Gilles 'SO- 악마 그만해'

답변:


32

" / etc / ssh / ssh_config "를 편집 하고 다음 행을 주석 처리하십시오.

GSSAPIAuthentication yes
GSSAPIDelegateCredentials no

3
+1 좋은 답변! (1) ssh 로그인 연결이 커서가 7 번 깜박이는 데 걸리는 정상적인 속도입니까? (2) 왜 주석에 의해 작동 하는가 GSSAPIAuthentication yesGSSAPIDelegateCredentials no? @Tshepang
Tim

@Tim (1) 너무 길다. 연결에 따라 2 초 이상 걸리지 않을 것이다. (2) 나는 그것이 작동한다는 것을 전혀 모른다
tshepang

1
대부분의 OpenSSH 버전에서 GSSAPIAuthentication의 기본값은 "no"이지만 일부 배포판에서는 sshd_config 및 ssh_config 파일에서이를 "yes"로 설정했습니다. 필요하지 않거나 사용하지 않으면 연결 / 인증 핸드 셰이크 속도가 느려집니다.
tgharold

LDAP / AD 인증을 사용중인 경우 GSSAPI를 비활성화하면 간단한 바인드가 사용되지 않아 네트워크를 통해 일반 텍스트로 암호를 보낼 수 있습니까?
Shannon

모든 네임 서버가 /etc/resolv.conf에 여전히 존재하는지 확인하십시오. 그렇지 않은 경우 꺼내십시오. 이것은 내 문제를 해결했습니다.
technocrat

30

이 문제가 발생하여 SSH에서 역방향 DNS 확인을 해제하여 문제를 해결했습니다.

에 따라서 sshd_config서버 변경이 :

 #UseDNS yes

이에:

UseDNS no

1
변경 ( UseDNS 옵션을 주석 처리하지 않았음에도 불구하고 ) ssh 서버를 재설정했지만 여전히 동일한 문제가 발생했습니다.
tshepang

2
@ 그녀는 이상하다. SSH에서 내가 가진 유일한 속도 문제는 이것 때문이었습니다.
Earlz

1
IP 주소 (홈 LAN)를 사용하여 로그인 할 때 회의적이지만이 솔루션으로 문제가 해결되었습니다. Google을 위해 지연이 발생했지만 지연은 "key : /home/mylogin/.ssh/id_ecdsa ((nil))"메시지 (실행 중일 때)와 아무 관련이 없습니다 ssh -vvv.
스키 피 르 그랜드 Gourou

7

DNS 설정을 확인 했습니까?

의 설정 mdns off을 시도하십시오 /etc/host.conf.

이것은 mdns 해상도를 비활성화하고 많은 도움이되었습니다.

편집하다:

젠투가 이것을 조금 다르게 처리하는 것 같습니다. 멀티 캐스트 DNS 조회를 비활성화하려면 파일을 변경해야합니다 /etc/nsswitch.conf.
다음과 같은 것이 있어야합니다.

hosts:          files mdns

다음으로 변경하십시오.

hosts:          files dns

좋은 아이디어 +1 @Tshepang은 호스트 이름의 IP를 직접 사용할 때 ssh가 더 빨리 연결됩니까?
Tobias Kienzler

@tobias는 절반의 시간이 걸립니다
tshepang

내가 /etc/host.conf: line 2: bad command 실행할 때 mdns가 꺼져 있습니다 ssh user@hostname.
tshepang

glibc 2.3.x (2006) : forums.gentoo.org/viewtopic-t-476558-highlight-mdns.html 이후로이 설정은 오래된 설정 인 것 같습니다 . 무엇을 사용하고 있습니까 (OS, glic 버전)?
tshepang

1
IP 주소를 사용할 때 시간이 절반 밖에 걸리지 않는다고 말합니다. 이는 이름 확인에 문제가 있음을 의미합니다 (IP => FQDN 또는 FQDN => IP). 먼저 DNS 구성을 살펴본 다음 ssh에 문제가 있는지 확인하십시오.
Christian

3

/etc/hosts때때로 호스트 이름을 추가하면 이 문제를 해결할 수 있습니다.


단일 호스트 이름에서 작동하지만 Earlz의 솔루션이 더 일반적입니다 (같은 문제 수정).
Skippy le Grand Gourou

1

또한 nscd설치되어 실행 중인지 확인하십시오 .

DNS 캐시가 없으면 PTR 레코드를 확인하는 데 걸리는 시간이 늘어날 수 있습니다 (ssh 클라이언트가 서버의 IP 주소에 대해 DNS 역방향 조회를 수행한다고 가정)


0

Windows 2008 R2 환경에서 동일한 문제가 있지만 "useDNS 아니오"가 작동하지 않습니다.

호스트 파일에 연결 서버의 IP 및 호스트를 추가하려고 시도하고 30 초 더 빠릅니다. 해상도가 DNS에 있다고 생각합니다.

DNS 서버를 추가하려고 시도했지만 문제가 해결되지 않습니다.

내 서버에는 두 개의 DNS 접미사가 있습니다. 서버가 속한 회사 도메인 (domain.com)과 개인 네트워크 (domain.net)에 연결하는 외부 인터페이스의 경우 1입니다.

DNS 접미사 순서는 먼저 domain.net이고 domain.com은 다음입니다

SFTP / SSH 클라이언트는 회사 도메인에 있습니다. 그런데 문제가있는 클라이언트는 회사 도메인에서 온 것입니다.

나를 위해 일하는 것은 domain.com을 먼저 만든 다음 domain.net을 두 번째로 만드는 것입니다.

2m30s 연결 지연 전은 3-4 초만되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.