SSH 구성: 프록시 명령을 대체할 수 있나요?

SSH 구성: 프록시 명령을 대체할 수 있나요?

이것은 모두가 사용하는 표준 작업 SSH 구성입니다.

host go
  User user
  ProxyJump otherHostname
  StrictHostKeyChecking=no
  UserKnownHostsFile=/dev/null
  IdentityFile ./ssh/key
  ProxyCommand ssh -i ~/.ssh/key -W %h:%p otherUser@OtherHostname

proxyCommandSSH 구성의 전체 지점이 명령을 사용하지 않기 때문에 이 부분이 나를 귀찮게 합니다.

구성에 ssh 명령이 없다는 것을 의미하는 명령 매개변수에 옵션이 있습니까?

ProxyCommand는 명령의 IdentityFile 및 ProxyJump 값을 사용합니다.

ssh -i ~/.ssh/key -W %h:%p otherUser@OtherHostname

다시 말해서:

ssh -i IdentityFile -W %h:%p differe tUser@ProxyJump

답변1

이 유형을 단순화하는 옵션 은 * ProxyCommand입니다 ProxyJump. ProxyJump otherHostname섹션의 모든 사용자 정의 옵션을 사용하고 정의하십시오 . (그렇다면 참고하세요:otherHostnameHost otherHostnameHost *각 매개변수에 대해 처음 얻은 값이 사용됩니다..)

하지만 당신 ProxyJump은 이미 그것을 사용하고 있습니다.설명서에는 다음과 같이 명시되어 있습니다.

이 옵션은 이 옵션과 경쟁합니다 ProxyCommand. 어떤 옵션을 먼저 지정하든 다른 옵션의 후속 인스턴스가 적용되지 않습니다.

(원천:man 5 ssh_config)

먼저 하면 ProxyJump이기게 됩니다. 이는 을 교체했음을 의미합니다 ProxyCommand. 해당 줄은 ProxyCommand쓸모가 없습니다.


* "이 유형"이란 무엇을 의미합니까 ssh -W %h:%p …? 일반적으로 ProxyCommand더 강력한 명령은 무엇이든 될 수 있으며 실제 프록시에 반드시 사용되는 것은 아닙니다. 예를 들어대역폭 제한 가능).

관련 정보