SSH 프록시 서버를 임시로 구성하는 방법

SSH 프록시 서버를 임시로 구성하는 방법

저는 종종 어리석은 이유로 TCP 대상 포트 22를 차단하는 네트워크에 있습니다. 이 문제를 해결하기 위해 전체 VPN을 사용하는 것은 실용적이지 않아 보였기 때문에 때로는 SSH 프록시(를 통해 ProxyCommand)를 사용했고 때로는 의사 프록시( ssh -w any:any -p 443로컬 및 원격 ip명령줄 조합을 사용하는 VPN)를 사용했습니다.

sshGit의 백엔드로 SSH를 사용하고 있으므로 명령줄을 직접 변경할 수 없습니다 .

저는 TCP 포트 443을 통해 SSH에 액세스할 수 있는 서버(예: 간단한 스크립트 또는 환경 변수를 통해)를 통해 GitHub 및 Fedora distgit과 같은 Git 서버에 일시적으로 연결하는 깨끗하고 좋은 방법을 찾고 있습니다. 나는 방법을 ProxyCommand고수 하지 않습니다 .-w

답변1

Git 에서는 ProxyCommandTunnelwith를 모두 저장할 수 있습니다 .TunnelDevicessh_configssh~/.ssh/config

또한 Fedora 25(openssh-7.3 또는구리 광산) Include지시문을 사용하면 구성에서 단일 문자를 사용하여 구성을 수정할 수 있습니다. 예를 들면 다음과 같습니다.

# ~/.ssh/config
#Include ~/.ssh/config_proxy
Host github.com
  # some standard configuration

# ~/.ssh/config_proxy
Host github.com
  ProxyCommand something

물론 원할 경우 Simple을 사용하여 이 변경 내용을 스크립트로 작성할 수 있습니다 sed.

답변2

OpenSSH 클라이언트의 최신 버전에서는 조건부 설정 을 .ssh/config. ProxyCommand대상 기반 조건(여기서는 유용하지 않음) 외에도 외부 명령 실행을 포함하는 조건이 있을 수도 있습니다. 예를 들어 DHCP 임대를 확인하여 프록시가 필요한 네트워크에 있는지 확인하려면 명령을 사용하십시오.

Match exec "awk /var/lib/dhcp/dhclient.eth0.leases '$2 == \"domain-name-servers\" {nsip=$3} END {exit(nsip == \"192.0\.2\.1\")}'"
    ProxyCommand …

관련 정보