SSH && apt-get 문제, 조언이 필요함

SSH && apt-get 문제, 조언이 필요함

나는 Beaglebone Black Rev.C의 먼지를 털어내기로 결정했고, 어떤 일을 하기 전에 모든 것을 최신 상태로 유지해야 한다고 생각했습니다. 새로운 Debian 8.3 이미지를 사용하여 SD 카드를 생성하고 마운트했습니다. 괜찮아요.

TeraTerm을 사용하여 Windows 8.1 시스템에서 BBB에 SSH로 연결하는 데 계속 실패하고 SSH 서버에 의해 부팅된 것 같습니다. 아. 그래서 Kali Linux 가상 머신을 시작하고 거기에서 SSH를 시작했습니다. 거의 같다. 편집 /etc/ssh/ssh_config하고 추가하세요 ServerAliveInterval 60. 여전히 삭제되었지만 apt-get update삭제되지 않고 완료될 때까지 실행되었습니다. 다음으로 시도해 보았는데 apt-get upgrade오랫동안 덜거덕거리더니 나를 떨어뜨렸습니다.

시간이 좀 지났는데 LAN에 트래픽이 없는 것 같습니다. apt-get upgrade이는 아직 작업이 진행 중이지만 /var/lib/dpkg/잠겨 있음을 나타냅니다. 프로세스가 증발된 쉘로부터의 입력을 기다리고 있을 수 있습니다.

질문:

  1. 이 문제를 정중하게 해결할 수 있는 방법이 있습니까? 아니면 재부팅해야 합니까?
  2. 이런 역겨운 일이 다시는 발생하지 않도록 하려면 어떻게 해야 할까요? 내 SSH 세션이 활성 상태로 유지되도록 하려면 어떻게 해야 합니까?

답변1

나에게는 업그레이드로 인해 연결이 끊어진 일종의 서비스가 다시 시작된 것 같습니다. 또는 단순히 연결이 끊어지고 중간 업그레이드 상태가 시스템과 충돌하여 재부팅이 필요할 수도 있습니다.

일반적으로 나는 네트워크 관리자/인터페이스가 업그레이드되었고 "서비스 네트워크 다시 시작"이 발생했다고 가정합니다.

여기서 문제는 ssh 세션이 닫힐 때 그 세션에서 실행 중이던 프로그램/스크립트/무엇이든 닫힌다는 것입니다. 즉, apt-get 업그레이드를 실행하고 세션이 닫히면 SSH 세션이 닫히는 동시에 업그레이드가 갑자기 중지됩니다.

화면에서 업그레이드를 실행하거나(이것이 가능하다고 생각합니다) 외부 화면을 비글본에 연결하는 것이 좋습니다.

답변2

SSH는 실제로 일반적으로 매우 안정적입니다. SSHD 구성에 잘못된 설정이 있거나(보지 않고는 알 수 없음) 네트워크에 문제가 있을 수 있습니다. 해결 방법으로 다음을 사용해 볼 수 있습니다.모쉬IP가 변경되거나 네트워크 연결이 잠시 동안 완전히 실패하더라도 SSH보다 더 나은 재연결 작업을 수행합니다.

SSH 연결을 종료/연결 해제할 때,대개그 안에서 실행 중인 프로세스는 SIGHUP신호에 의해 종료됩니다. 즉, apt-get더 이상 실행되지 않을 가능성이 높습니다.
그러나 직접 확인하려면 언제든지 실행할 수 있습니다 ps aux | grep apt\\-get.
어쨌든 다시 시작하면 문제가 해결됩니다.

답변3

내 SSH 세션이 활성 상태로 유지되도록 하려면 어떻게 해야 합니까?

/etc/ssh/sshd_config입력 에서 ClientAliveInterval 60물론 sshd 서비스를 다시 시작하면 SSH 세션을 종료할 수 없습니다.

답변4

screen원격 호스트에 로그인할 때는 항상 ssh를 사용하는 것이 좋습니다.

$ ssh -t username@hostname screen -D -RR 

SSH 세션에 대한 연결이 끊어지면 동일한 명령을 다시 실행할 수 있고 아무것도 종료하지 않고 screen 세션으로 돌아갈 수 있으므로 문제가 되지 않습니다.

~/.ssh/config/etc/ssh/ssh_configSSH 세션이 충분히 오랫동안 활성 상태로 유지되지 않는 문제는 또는 에 다음 설정을 지정하면 해결되어야 합니다.

ServerAliveInterval 60
ServerAliveCountMax 10

관련 정보