![ssh가 너무 오래된 경우 ssh-config 옵션을 조건부로 건너뛰나요?](https://linux55.com/image/221719/ssh%EA%B0%80%20%EB%84%88%EB%AC%B4%20%EC%98%A4%EB%9E%98%EB%90%9C%20%EA%B2%BD%EC%9A%B0%20ssh-config%20%EC%98%B5%EC%85%98%EC%9D%84%20%EC%A1%B0%EA%B1%B4%EB%B6%80%EB%A1%9C%20%EA%B1%B4%EB%84%88%EB%9B%B0%EB%82%98%EC%9A%94%3F.png)
어떻게 사용 SetEnv
하고 다른 시스템의 동일한 구성을 사용할 수 있지만 ~/.ssh/config
지원하기에는 너무 오래된 경우 오류가 발생하지 않습니까?ssh
Match exec
설정이 너무 오래된 경우(OpenSSH < 7.8) 설정을 제외 하는 문을 추가해 보았습니다 .ssh
Host server.example.com webhost
User jacktose
HostName server239.example.com
Match host "server.example.com webhost" exec "ssh -V 2>&1 | sed -nE '/^OpenSSH_(7\.(8|9|\d\d+)|(8|9|\d\d+\.))/!{q7}'"
SetEnv LANG=C
SetEnv
그러나 해당 행이 구문 분석되고 오류가 발생하는 것 같습니다 .
$ ssh -vvv anyhost
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
...
debug2: checking match for 'host "server.example.com webhost" exec "ssh -V 2>&1 | sed -nE '/^OpenSSH_(7\\.(8|9|\\d\\d+)|(8|9|\\d\\d+\\.))/!{q7}'"' host anyhost originally anyhost
debug3: /home/jacktose/.ssh/config line 37: not matched 'host "anyhost"'
debug3: /home/jacktose/.ssh/config line 37: skipped exec "ssh -V 2>&1 | sed -nE '/^OpenSSH_(7\\.(8|9|\\d\\d+)|(8|9|\\d\\d+\\.))/!{q7}'"
debug2: match not found
/home/jacktose/.ssh/config: line 38: Bad configuration option: setenv
...
/home/jacktose/.ssh/config: terminating, 1 bad configuration options