SSH를 사용하여 서비스를 중지하면 "제어 호스트가 예기치 않게 종료되었습니다."가 발생합니다.

SSH를 사용하여 서비스를 중지하면 "제어 호스트가 예기치 않게 종료되었습니다."가 발생합니다.

Centos 7을 실행하는 두 개의 서버가 있고 서로 통신할 수 있습니다. 쉘 스크립트에서는 SSH를 통해 다른 노드에서 실행 중인 사용자 정의 서비스를 중지해야 합니다. 문제는 때때로 전체 SSH 세션이 종료 코드 255로 닫히는 것입니다. 나에게는 더 많은 조사를 위해 비슷한 상황을 재현할 수 있는 설명이나 능력조차 없습니다. 도움이 되는 아이디어가 있으면 감사하겠습니다.

실수:

[root@server1 ~]# ssh server2
[root@server2 ~]# ssh -vvv -tt server1 "systemctl stop myservice"
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 58: Applying options for server1
debug1: auto-mux: Trying existing master
debug2: fd 3 setting O_NONBLOCK
debug2: mux_client_hello_exchange: master version 4
debug3: mux_client_forwards: request forwardings: 0 local, 0 remote
debug3: mux_client_request_session: entering
debug3: mux_client_request_alive: entering
debug3: mux_client_request_alive: done pid = 5429
debug3: mux_client_request_session: session request sent
debug1: mux_client_request_session: master session id: 2
debug3: mux_client_read_packet: read header failed: Broken pipe
debug2: Control master terminated unexpectedly
Shared connection to server2 closed.
[root@server1 ~]# echo $?
255

추가 세부 사항:
controlmaster=auto
ControlPersist 60s
ConnectTimeout = 1
ControlPath /dev/shm/%r@%h:%p
StrictHostKeyChecking 아니요

고쳐 쓰다:
ssh -vvv -tt server1 "systemctl stop myservice"명령이 오류나 0이 아닌 종료 코드를 수신하지 않았다는 것을 깨달았습니다 . 그런데 문제는 이 명령 때문에 ssh 연결이서버 1에서 서버 2로나머지.

답변1

아마도 시간 초과가 발생하기 전에 최대 대기 시간을 늘리는 것이 실행 가능한 옵션일 수 있습니다.

관련 정보