SSHPASS가 전송된 명령의 결과를 기다리지 않고 대신 연결을 끊게 만드는 방법은 무엇입니까?

SSHPASS가 전송된 명령의 결과를 기다리지 않고 대신 연결을 끊게 만드는 방법은 무엇입니까?

자동화 목적으로 임시 IP를 통해 Linux 기반 장치를 구성하기 위해 SSHPASS를 사용하고 있습니다.

sshpass -p $TARGET_password ssh -o StrictHostKeyChecking=no $TARGET_username@$TARGET_IP 'bash -s' < $configfile

여러 명령이 포함된 스크립트를 보내고 있는데 마지막 명령은 영구 IP를 구성하는 것입니다.

스크립트가 IP를 변경하자마자 임시 IP와의 세션이 손실되어 정지됩니다.

그래서 IP를 변경하는 명령을 보내고 반환을 기다리지 않고 즉시 연결을 끊는 것이 가능합니까?

답변1

연결을 끊도록 하세요~ 전에주소가 바뀌네요. 예를 들어, 연산자를 사용하여 백그라운드에서 마지막 명령을 &다음과 같이 실행하도록 합니다.

( (sleep 1; ip addr change ...) &)

명령이 성공하고 IP가 변경되어 ACK를 받지 못하는지, 명령 패킷이 서버에 도달하지 않아서 SSHPASS가 ACK를 받지 못하는지 여부를 SSHPASS가 알 수 있는 좋은 방법은 없습니다.조금도(네트워크 문제로 인해). 전자의 경우 연결을 끊기를 원하지만 후자의 경우 승인되지 않은 패킷을 계속 재전송해야 합니다.

관련 정보