
host1
단순화 host2
를 위해 여러 개의 SSH 호스트(12개)가 있습니다.
포트를 자주 전달해야 합니다. 예:
ssh -L 8888:localhost:8888 host1
ssh -L 8889:localhost:8888 host2
ssh -L 8890:localhost:80 host2
1) 로컬 포트에서 호스트로의 매핑을 기억해야 하고 2) 이를 수동으로 수행해야 하기 때문에 이것은 짜증나는 일입니다.
host1.8888.ssh.local
나는 특정 호스트(로컬로, 내 컴퓨터에서)를 수신 하고 자동으로 이 주소에 대한 터널을 여는 일종의 시스템을 구현하고 싶습니다 .
답변1
일반적으로 다음 위치에 있는 ssh 구성 파일 내에서 이 모든 항목을 구성할 수 있습니다.$HOME/.ssh/config
예를 들어:
Host abc
Hostname 1.2.3.4
Port 345
IdentityFile /path/to/id_rsa
LocalForward 8888 localhost:8888
User root
Host def
Hostname 2.3.4.5
User root
LocalForward 8889 localhost:8889
이렇게 하면 입력만 하면 ssh abc
거기에 지정한 모든 설정이 적용됩니다. 사용 가능한 옵션은매뉴얼 페이지.
답변2
나는 개발했다SSH터널이는 터널을 설정하고 계속 실행하는 서비스입니다.
server "srv_us"
HostName="srv.us"
User="root"
IdentityFile="/root/.ssh/id_ed25519"
tunnelR "srv_us_http"
servername="srv_us"
remoteaddress="1"
remoteport=80
localaddress="127.0.0.1"
localport=8080
OpenWrt 라우터가 있는 경우 유사한 라우터를 사용할 수 있습니다.SSH터널서비스. 최근 luci-app-sshtunnel을 구성하기 위한 GUI가 추가되었습니다.
답변3
질문과 관련이 없지만 근본적인 문제를 해결한 미래에서 온 메모입니다.
서버의 vs 코드에서 작업을 수행하는 경우 프로세스(예: jupyter, 텐서보드, 대시보드, 웹 서버)를 시작한 후 vs 코드는 해당 포트를 로컬 컴퓨터로 전달하므로 아무것도 기억할 필요가 없으며 포트는 해당 포트에서만 전달됩니다. 현재 작업 중인 호스트 및 포트 수, 사용된 포트만. 참으로 편리합니다!