나는 많은 머신을 가지고 있으며 다음과 유사한 구성 파일을 사용하여 터널을 생성합니다.
Host mygizmo-tun143
HostName 1.2.177.16
HostKeyAlias [1.2.177.16]:6000
User tunneluser
Port 6000
ServerAliveInterval 15
ServerAliveCountMax 4
Tunnel point-to-point
TunnelDevice 143:0
IdentityFile /home/tunnels/.ssh/id_dsa
UserKnownHostsFile /home/tunnels/.ssh/known_hosts
ConnectTimeout 10
ControlMaster auto
ControlPath /var/sshsessions/mygizmo-tun143
ControlPersist yes
다음 스크립트를 사용하여 터널을 시작합니다.
/bin/tunctl -u $USER -t $LOCAL_INTERFACE
/bin/ip link set $LOCAL_INTERFACE down
/bin/ip addr add $LOCAL_ADDRESS/30 peer $PEER_ADDRESS dev $LOCAL_INTERFACE
/bin/ip link set $LOCAL_INTERFACE mtu 1300
/bin/ip link set $LOCAL_INTERFACE up
/usr/bin/ssh -n -T -F "$SSH_CONFIG_PATH" "$SSH_TUNNEL_HOST" "sudo /opt/sbin/iproutetunnelsetup $REMOTE_INTERFACE $PEER_ADDRESS $LOCAL_ADDRESS" &
(이 스크립트의 변수는 그다지 중요하지 않습니다. iproutetunnelsetup 스크립트는 피어에서 유사한 작업을 수행하고 인터페이스가 작동하는지 확인합니다.)
연결이 끊어져 터널 인터페이스가 충돌할 때까지 모든 것이 잘 진행되었지만 SSH 세션은 여전히 열려 있었습니다.
인터페이스를 핑하거나 패킷 수를 계산하는 것 외에 주장하는 지점 간 터널 SSH가 실제로 제대로 작동하는지 확인할 수 있는 방법이 있습니까? 나는 터널이 포트 전달처럼 작동하고 기존 인스턴스에 연결될 것이라고 생각했습니다(희망했습니다). 그러나 인스턴스당 터널이 하나만 있을 수 있고 터널에 대한 "-O 취소" 명령이 없는 것 같습니다.
;tl;박사
SSH 세션을 열어둔 상태에서 터널을 중지하기 위해 SSH 인스턴스에서 실행할 수 있는 명령이 있습니까?