~/.ssh/config
내 파일 항목에 다음과 같은 로컬 전달 정의가 있습니다 .
HOST myServer
hostname 10.10.0.1
user xyz
LocalForward 8080 localhost:80
LocalForward 4000 127.0.0.1:4000
...
이것은 매력적으로 작동하지만 일부 데이터를 동기화하는 스크립트도 있습니다.
이러한 스크립트는 이미 연결되어 있는 동안 서버에 연결을 시도할 때 많은 경고를 표시합니다.
bind: Address already in use
channel_setup_fwd_listener_tcpip: cannot listen to port: 8080
bind: Address already in use
channel_setup_fwd_listener_tcpip: cannot listen to port: 4000
....
거기에정돈된세션에 대한 모든 로컬 전달을 비활성화하는 옵션을 사용하는 방법 ssh
은 무엇 입니까?rsync
분명히 각 구성 블록을 복사하여 붙여넣고 로컬 전달이 있는 블록과 없는 블록을 모두 만들 수 있지만 더 나은 솔루션이 있기를 바랍니다.
답변1
ClearAllForwardings
에는 ssh_config
정확히 필요한 작업을 수행하는 옵션이 있습니다 .
모든 전달 지우기
구성 파일이나 명령줄에 지정된 모든 로컬, 원격 및 동적 포트 전달이 지워지도록 지정합니다. 이 옵션은 구성 파일에 설정된 포트 전달을 지우기 위해 ssh(1) 명령줄에서 사용할 때 주로 유용하며 scp(1) 및 sftp(1)에 의해 자동으로 설정됩니다. 인수는 yes 또는 no(기본값)여야 합니다.
명령줄 옵션으로 사용할 수 있습니다.
ssh -o ClearAllForwardings=yes host