한 컴퓨터에서 원격 컴퓨터로의 SSH 로그인이 매우 느립니다. 아래 두 블록은 SSH의 세부 정보를 보여줍니다. 아래 표시된 블록에서 ssh가 15초 동안 정지됩니다.
[root@zabbix ~]# ssh -vvv [email protected]
OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 172.18.xxx.xx [172.18.xxx.xx] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/identity type -1
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version Sun_SSH_1.1.4
debug1: no match: Sun_SSH_1.1.4
debug1: Enabling compatibility mode for protocol 2.0
...............
...............
debug1: Trying private key: /root/.ssh/id_dsa
debug3: no such identity: /root/.ssh/id_dsa
debug2: we did not send a packet, disable method
debug3: authmethod_lookup keyboard-interactive
debug3: remaining preferred: password
debug3: authmethod_is_enabled keyboard-interactive
debug1: Next authentication method: keyboard-interactive
debug2: userauth_kbdint
debug2: we sent a keyboard-interactive packet, wait for reply
debug3: Wrote 96 bytes for a total of 1205
ssh는 여기서 약 15초 동안 정지한 후 비밀번호를 묻습니다.
debug2: input_userauth_info_req
debug2: input_userauth_info_req: num_prompts 1
Password:
비밀번호를 입력하면 다음과 같이 줄 끝에 멈춥니다.
debug3: packet_send2: adding 32 (len 23 padlen 9 extra_pad 64)
debug3: Wrote 80 bytes for a total of 1285
debug1: Authentication succeeded (keyboard-interactive).
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug1: Entering interactive session.
debug3: Wrote 64 bytes for a total of 1349
약 15초 후에 로그인에 성공했습니다.
내 질문은 SSH 시도를 더 빠르게 만들려면 어떻게 해야 합니까?
이 로그인 시도는 RHEL 6.2 시스템에서 Solaris 10 시스템으로 이루어집니다. 처음에는 이것이 네트워크 문제일지도 모른다고 생각했지만, 그런 정지 현상 없이 다른 Solaris 10 시스템에서 위에서 언급한 것과 동일한 원격 Solaris 시스템에 로그인할 수 있다는 것을 발견했습니다.
원격 Solaris 시스템의 SSH 버전은 다음과 같습니다.
$ ssh -V
Sun_SSH_1.1.4, SSH protocols 1.5/2.0, OpenSSL 0x0090704f
RHEL 시스템의 SSH 버전은 다음과 같습니다.
[root@zabbix ~]# ssh -V
OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
원격 Solaris 10 컴퓨터는 물리적 Solaris 10 컴퓨터의 영역입니다. 로컬 RHEL 시스템에서 물리적 Solaris 10 시스템으로 SSH를 통해 연결하는 것은 매우 빠릅니다. 그렇다면 네트워크 문제는 전혀 아닌 것 같습니다.
고쳐 쓰다: 원격 Solaris 10 시스템의 sshd_config 파일에 다음 활성화된 지시문을 모두 추가합니다.
Protocol 2
Port 22
ListenAddress 0.0.0.0
AllowTcpForwarding yes
GatewayPorts yes
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
PrintMotd no
KeepAlive yes
SyslogFacility auth
LogLevel info
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
ServerKeyBits 768
KeyRegenerationInterval 3600
StrictModes yes
LoginGraceTime 600
MaxAuthTries 6
MaxAuthTriesLog 3
PermitEmptyPasswords no
PasswordAuthentication yes
PAMAuthenticationViaKBDInt yes
Subsystem sftp internal-sftp
IgnoreRhosts yes
RhostsAuthentication no
RhostsRSAAuthentication no
RSAAuthentication yes
귀하의 의견에 진심으로 감사드립니다.
감사해요
답변1
RHEL 머신에서는 다음을 시도해 보세요.
ssh -o GSSAPIAuthentication=no [email protected]
작동하는 경우 다음을 ~/.ssh/config
편집하고 추가하여 영구적으로 만드십시오.
GSSAPIAuthentication no
또한 RHEL이 DNS에 표시되는지(서버 관점에서) 확인하세요. 서버는 역방향 DNS 확인을 확인하려고 시도합니다. 실패하면 지연이 발생합니다.
이 검사는 비활성화될 수 있습니다:
편집하다/etc/ssh/sshd_config
OpenSSH: 사용UseDNS no
솔라리스: 사용LookupClientHostnames no
재부팅 sshd
하고 로그인하는 속도가 더 빨라집니다.
답변2
내 문제는 /etc/resolv.conf입니다. 잘못된 도메인을 검색하고 조회를 제공하는 DNS 서버가 존재하지 않습니다. 놀랍게도 로그인이 가능했습니다.