나는 3개의 Raspberry Pi로 구성된 Raspberry Pi 클러스터를 가지고 있으며, 각각은 내 홈 네트워크(192.168.0.n)에서 Ubuntu Server 20.04를 실행하고 있습니다. 각 Raspberry Pi에는 Netplan 구성을 통해 할당된 고정 IP가 있습니다.
Ubuntu Desktop 20.04에서 Raspberry Pi에 SSH를 시도할 때 SSH 로그인에 시간이 오래 걸리거나 결국 로그인되지만 입력이 매우 느리거나 응답하지 않습니다.
동일한 네트워크에 PuTTYy가 설치된 Windows 랩톱에서 이 작업을 시도했지만 동일한 동작이 결국 다음 오류로 이어지는 것을 확인했습니다.
네트워크 오류: 소프트웨어로 인해 연결이 중단되었습니다.
SSHD를 실행하는 각 Pis에서 기본적으로 이 웹사이트에 정의된 단계에 따라 설정 하고 주석 UseDNS no
처리 했습니다.session optional pam_systemd.so
/etc/pam.d/common-session
https://jrs-s.net/2017/07/01/slow-ssh-logins/
내 라우터는 내 ISP에서 제공됩니다. 스카이UK.
이상한 점은 Android 휴대폰에 JuiceSSH를 다운로드했고 각 Pis에 연결하여 명령을 성공적으로 실행할 수 있다는 것입니다.
나는 완전히 당황했다. 추가 문제 해결 방법에 대한 도움이나 지침을 주시면 감사하겠습니다.
답변1
ssh -vvv user@host
지연의 원인이 무엇인지 알아내기 위해 ssh 명령의 자세한 정보를 늘릴 수 있습니다 .
문제는 여러 구성으로 인해 발생합니다. 먼저 host
파일을 확인하세요.
sudo nano /etc/hosts
127.0.0.1 한 줄이 있을 것입니다. 그 앞에 호스트 이름이 올바른지 확인하세요. 없으면 다음을 추가하세요.
127.0.0.1 hostname
호스트 이름이 확실하지 않은 경우 다음을 사용하여 찾을 수 있습니다.
echo $HOSTNAME
저장한 후에는 서비스를 다시 시작할 필요가 없으며 속도가 빨라지는 것을 볼 수 있습니다. 그렇지 않은 경우 두 번째 변경을 시도하십시오.
nano /etc/ssh/sshd_config
이 파일에는 SSH 서비스 구성이 포함되어 있으며 기본적으로 귀하의 경우에 적합하지 않을 수 있는 일부 매개변수가 있습니다. 수정하려면 sudo를 사용해야 합니다.)
X11Forwarding
데이터 전송 속도가 느려질 수 있지만 일반적으로 유지하는 것이 좋습니다 yes
. 이는 PasswordAuthentication
연결을 더욱 쉽고 안전하게 만듭니다. no
테스트를 위해 수정 및 설정한 후 파일을 저장합니다. 그런 다음 다음을 사용하여 서비스를 다시 시작하십시오.
sudo service sshd restart
명령어 실행은 빠른데 SSH 로그인이 느려 인증에 문제가 있는 경우가 있습니다. 일반적인 경우 중 두 가지를 확인하려면 파일 에 UseDNS
있습니다 . 확인하려면 다음을 시도해 보세요.UsePAM
sshd_config
nano /etc/ssh/sshd_config
그런 다음 다음과 같이 존재하는 경우 추가하거나 편집합니다.
UsePAM no
UseDNS no
두 가지를 동시에 비활성화하여 효과를 확인하고 ssh
저장 후 서비스를 재설정하는 것을 잊지 마십시오.
개선 사항이 없으면 다시 되돌리고 htop
의심스러운 프로세스가 실행되고 있는지 확인하세요. CPU 및 메모리 사용량을 확인하고 종료할 수 있습니다.
더 이상 설명하지 않겠습니다. 슬프게도 문제가 지속되면 더 많은 아이디어를 위해 여기에 회신해 주세요.
답변2
마침내 Ubuntu 20.04 노트북에서 Raspberry Pi 클러스터(3개 모두에 영향을 줌)로의 SSH 세션이 무선을 통해 중단되는 원인을 알아냈습니다. 무선 장치의 전원 관리를 끕니다. 먼저 네트워크 장치 상태를 나열하십시오.
sudo iwconfig
전원 관리가 켜져 있으면 다음 파일에서 3을 2로 변경하여 끄십시오.
cat /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
[connection]
wifi.powersave = 2
변경 후 노트북을 다시 시작해야 했습니다.