로그인 대기 시간이 길다


20

서버에 로그인하면 다음과 같은 결과가 나타납니다.

No mail.
Last login: Fri Nov  5 14:22:45 2010...

그런 다음 5 초 동안 기다렸다가 준비합니다 ...

wolfy@ubuntu-server:~$

이 대기 시간이 정상입니까 아니면 이것을 "수리"하기 위해해야합니까?


1
ssh 옵션 keepalive를 사용하고 있습니까?
Panther

답변:


18

일반적으로 파일 을 pam_motd재생성 한 결과입니다 /etc/motd. 개별 스크립트를 검사하여 /etc/update-motd.d특히 느린 것이 있는지 확인할 수 있습니다 .


훌륭한. 그것은 나를 위해 사용할 수있는 90- 업데이트 파일이었습니다. 또한 50-landscape-sysinfo가 가장 빠르지는 않습니다.
Matt H

13

10.04 (LTS)와 동일한 문제가 있습니다.

로 ssh를 실행하면 다음 위치 -vvv에서 죽습니다.

debug1: Entering interactive session.

이 답변을 확장합니다.

서버를 원격으로 재부팅하고 DEBUG 로그인을 활성화했습니다. 또한이 기회를 이용하여 로그인 상태를 유지하고 다른 로그인 시도를 관찰했습니다. 여기에 일어난 일이 있습니다. 클라이언트가 연결되고 권한이 부여되고 위의 메시지가 표시됩니다.

서버에서 프로세스 목록에 다음이 표시됩니다.

root       835  0.0  0.1  11476  3348 ?        Ss   13:39   0:00 sshd: till [priv]
root       840  0.0  0.0   4804  1124 ?        S    13:39   0:00 /bin/sh -c /usr/bin/env -i PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /bin/run-parts --lsbsysinit /etc/update-motd.d
root       841  0.0  0.0   4728  1108 ?        S    13:39   0:00 /bin/run-parts --lsbsysinit /etc/update-motd.d
root       854  0.0  0.0   4804  1144 ?        S    13:39   0:00 /bin/sh /etc/update-motd.d/50-landscape-sysinfo
root       861  0.2  0.5  15388  9248 ?        S    13:39   0:00 /usr/bin/python /usr/bin/landscape-sysinfo
root       863  0.0  0.0      0     0 ?        Z    13:39   0:00 [who] <defunct>

/usr/bin/python /usr/bin/landscape-sysinfo로그인 한 상태에서 제대로 실행할 수 있지만 어떤 이유로 로그인 프로세스가 중단되는지 이유를 알 수 없습니다. 프로세스를 종료하면 로그인 메시지가 계속 표시되고 성공 합니다.

이것은 ssh (d) 문제가 아닌 것처럼 보입니다 update-motd. update-motd패키지를 제거 했지만 /etc/update-motd디렉토리가 지속되고 스크립트가 여전히 실행되어 프로세스가 중단되는 것처럼 보입니다 .


이것을 더 디버깅 :

/etc/update-motd.d/디렉토리가 실제로 패키지에 속하지 않는 것으로 나타 났습니다 update-motd. sshd를 통한 pam 인증에 의해 트리거 된 것 같습니다.


나는 그것을 못 박은 것 같다!

다음 파일에서 pam_motd를 비활성화했습니다.

  • /etc/pam.d/sshd
  • /etc/pam.d/login

하나 더:

apt-get purge landscape-client landscape-common

이것들은 특정 확장에 도움이되는 것 같습니다. 그러나 문제가되는 스크립트 제거하고 /etc/update-motd.d/해당 디렉토리의 모든 스크립트를 삭제하거나 제거하지 않습니다 pam_motd.

일반적으로, 나는 pam_motd그것이 무엇이든간에 완전히 비활성화하는 방법을 찾지 못했습니다 . 로그인 프로세스가 특정 확장으로 느려집니다. 의 스크립트처럼 차단되지 않지만 landscape-common속도가 느립니다.

이 문제에 대한 버그 보고서 :

거기에서 해결 방법 :

귀하는 로그인 기능이 motd를 제시하는 것보다 중요하다는 것이 옳습니다. 이 동작이 문제인 경우 비활성화 할 수있는 몇 가지 방법이 있습니다.

  • /etc/pam.d/sshdmotd를 표시하지 않으려면 'pam_motd'줄을 주석 처리하십시오 .
  • /etc/update-motd.d디렉토리 의 내용을 삭제하십시오 .
  • chmod -x /etc/update-motd.d실행하고 싶지 않은 스크립트 .

10

마침내 해결책을 찾았습니다.

  1. sudo apt-get remove landscape-client landscape-common
  2. 주석 행 session optional pam_motd.so 에서 /etc/pam.d/login/etc/pam.d/sshd

이제 로그인이 인스턴트입니다!


일부 네트워크 문제가 통계를 유지하는 것처럼 보입니까?
0xF2

4

설명에서 네트워킹 문제와 비슷합니다. 진단하려면

  • 자세한 내용을 보려면 -v 매개 변수와 함께 ssh를 실행하십시오.
  • 연결중인 SSH 서버에 대해 핑을 실행하고 동시에 멈춰 있는지 확인하십시오.
  • 동일한 서버로 다른 종류의 전송을 시도하십시오. 예를 들어, --limit-rate 매개 변수를 사용하여 HTTP를 통해 파일을 가져오고 "매달려"동작을 트리거 할 수있을만큼 시간이 오래 걸립니다.
  • 유휴 상태 일 때만 또는 현재 작업을 수행중인 경우에도 중단되는지 확인하십시오. 유휴 상태에서 중단되면 -v 진단에서 알려줄 것입니다.이 경우 keepalive 사용에 대한 조언이 도움이 될 수 있습니다 (ssh -o "TCPKeepAlive yes")

Windows 및 PuTTY에 OK를 연결할 수 있다면 서버 쪽에서는 문제가되지 않을 것입니다.


3

경우 PermitEmptyPasswordUsePAM모두 사용 가능, OpenSSH의 서버는 항상 어떤 인증이 해당 계정에 대한 필요하지 않습니다 있다는 신호로 소요 널 암호, 인증을 시도합니다. 클라이언트의 "실제"인증 요청에 응답하지 않고 두 프로토콜 모두에서 인증 프로세스가 시작 되 자마자이를 수행합니다. OpenSSH는 sshd_config 플래그 PermitEmptyPassword가 설정된 경우에만 이러한 액세스를 허용 합니다. 안타깝게도 코드 작성 방식에 관계없이 암호 테스트를 수행하므로 PAM이 실패로 표시됩니다.

그래서 : 비활성화 PermitEmptyPassword하거나 UsePAM,하지만 기억 : PAM없이 올릴 때이 키없이 로그인 할 수 없습니다.

참조 : https://groups.google.com/forum/?fromgroups=#!topic/comp.security.ssh/wExY8lWlG-c


나는 같은 문제 (느린 로그인)에 왔기 때문에이 오래된 질문 에이 답변을 추가했지만 여기에서 아무것도 문제를 해결하지 못했습니다. 이것이 나의 해결책이다.
Alessandro Pezzato

두 설정을 모두 비활성화해야했습니다
Androbin

2

로그인 할 때 우분투는 다음 파일 중 하나 이상을 실행한다고 생각합니다.

/etc/bash.bashrc
~/.bash_profile
~/.bashrc

당신은 그들 안에 무엇이 있는지 볼 수 있고, 심지어 너무 오래 걸리는 것을보기 위해 그들을 실행하려고 시도 할 수도 있습니다.


2

제한된 경험에서 퍼티가 작동하지만이 경우 Linux, Ubuntu는 작동하지 않을 때 일반적으로 살아 있습니다. 네트워킹 또는 서버 문제는 두 클라이언트 OS 모두에 영향을 미칩니다.

명령 행에서 위의 keep alive 옵션을 사용할 수 있지만 입력하는 것은 지루합니다.

몇 가지 구성 파일을보다 쉽게 ​​편집 할 수 있습니다.

root access있고 모든 사용자에 대해 자동으로 활성화하려면 편집 /etc/ssh/ssh_config하고 추가하십시오.

KeepAlive yes
ServerAliveInterval 120

루트 액세스 권한이 없거나 단일 사용자가 사용할 수 있도록 ~/.ssh/config하려면 동일한 두 줄을 편집 하여 추가하십시오.


0

/ var / log에서 시스템 로그를 확인하면 관련 오류 / 시간 초과 메시지가 표시 될 수 있습니다.


0

당신은 또한 전에 시간이 있다면

편집하다 /etc/sshd_config

설정 (또는 추가)

UseDNS no

/etc/hosts정적 로컬 IP 인 경우 IP를 추가하십시오.


0

이미 로그인 한 연결 (또는 다른 콘솔)에서 서버에 로그인하는 동안 실행중인 프로세스를 모니터링하려고 할 수 있습니다. 그 당시에 어떤 프로세스가 가장 활동적이거나 가장 많은 CPU를 사용하는지 파악할 수 있습니다.

다음은 가능한 방법 중 하나입니다.

  1. 다른 콘솔에 로그인하십시오.
  2. 실행 top어떻게되는지있다.
  3. 첫 번째 콘솔에 로그인하십시오.

CPU 집약적 인 계산으로 인해 지연이 발생하지 않는 경우, 제자리를 벗어난 것은 발견되지 않습니다. 이 경우 문제는 I / O 바운드 일 수 있습니다 (일부 디스크 읽기 / 쓰기 또는 네트워크 응답을 기다리는 중).


상단은 이것을 보여줍니다 (로그인시) : 12112 sshd 20 0 6988 856 412 S 13.9 0.1 0 : 00.42 sshd
Wolfy

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