여러 개의 SSH 호스트 별칭을 가질 수 있습니까? [복사]

여러 개의 SSH 호스트 별칭을 가질 수 있습니까? [복사]

나는 때때로 홈 네트워크 내부 또는 외부에 있을 수 있는 노트북을 가지고 있습니다. 네트워크 내의 컴퓨터에 SSH로 연결해야 하는 경우 연결은 매우 간단합니다.

localhost $ ssh machinelearning

다음에서 기기에 액세스하려고 하면외부내 네트워크를 사용하려면 라우터에 연결한 다음 그곳에서 SSH를 연결해야 합니다.

localhost $ ssh router.mytotallyuniquedomain.com
router $ ssh machinelearning

후자의 명령을 실행하는 단축키가 있었던 것으로 기억하는데 ~/.ssh/config, 지금은 그것이 무엇인지 기억이 나지 않습니다.

다음과 같이 여러 호스트 이름이나 연결 유형을 제공할 수 있는 방법이 있습니까?

$ ssh machinelearning

machinelearningSSH는 먼저 로컬 네트워크의 호스트 에 연결을 시도한 다음 router.mytotallyuniquedomain.com긴 호스트 이름을 입력하지 않고도 터널링을 시도합니까?

답변1

방법 #1 - ProxyCommand 및 netcat

나는 $HOME/.ssh/config이것을 촉진하기 위해 이 설정을 사용합니다.

Host intserver1-o intserver2-o intserver3-o
    ProxyCommand ssh [email protected] nc `echo %h|sed 's/-o//'` %p

그러면 ssh intserver2-o어디에서나 이 내부 서버에 액세스할 수 있습니다. 집에 있을 때는 LAN을 사용하세요 ssh intserver1.

노트:위 팁 nc에서는 extserver1에 netcat( )이 설치되어 있어야 합니다.

방법 #2 - 중첩된 SSH

또는 다음 방법을 사용할 수 있습니다.

$ ssh -t -l gatewayuser gatewayserver "ssh -l serveruser internalserver"

기본적으로 이 방법 내에 SSH 호출을 중첩합니다.

방법 #3 - ProxyCommand 및 ssh -W

최신 버전의 SSH(5.4+)의 경우 스위치를 거치는 ssh대신 사용할 수 있습니다 .nc-W

Host TARGETHOST
ProxyCommand ssh -W %h:%p PROXYHOST

& 는 호스트 이름 포트에 대한 매크로 %h입니다 .%pTARGETHOST

관련 정보