내 질문은 기본적으로 기존의 두 단계를 한 단계로 바꾸는 방법입니다.
다음과 같이 중개인 서버를 사용하여 두 컴퓨터 사이에 작동하는 SSH 터널이 있습니다.
Kubuntu_laptop--->nat_fw--->Debian_Server<--nat_fw<--Kubuntu_desktop
내가 현재하는 것은 Kubuntu_laptop에서 Debian_Server로 SSH를 보낸 다음 Debian_Server에서 Kubuntu_desktop으로 SSH입니다. bash에서 Kubuntu_laptop에 발행 된 하나의 SSH 명령을 만들고 싶습니다. 쿠분투 _desktop (shell / bash)에 연결됩니다.
지금 사용중인 명령은 다음과 같습니다. 1 단계:
me@kubuntu_laptop:~$ ssh -i ~/.ssh/id_rsa admin@debian_server
2 단계:
admin@debian_server:$ ssh -p 1234 -i /home/admin/.ssh/id_rsa admin@localhost
그런 다음 SSH를 통해 kubuntu_desktop에 연결합니다 (kubuntu_laptop에서).
모든 SSH 연결에는 RSA 키가 필요합니다. 비밀번호 로그인이 항상 비활성화되어 있습니다. 그리고 컴퓨터 사용자 계정은 두 컴퓨터에서 서로 다릅니다.
이 다리의 연결에 관해서 :
Debian_Server<--nat_fw<--Kubuntu_desktop
다음과 같이 설정됩니다.
autossh -M 5234 -N -f -R 1234:localhost:22 user@mydebian.com -p 22
Kubuntu_desktop은 user@mydebian.com (admin @ debian_server 아님)으로 중개인에게 연결됩니다. 그러나 Kubuntu_desktop에 연결하면 관리자로 연결됩니다.
기존 모니터링 포트 (5234) 또는 원격 (-R) 포트 번호 (이 예에서는 1234)를 변경할 수 없습니다. 비밀번호 로그인을 허용하도록 SSH 보안을 변경할 수 없습니다. 새 방화벽 포트를 열 수 없습니다. 사용자 계정을 변경할 수 없습니다 (노트북 제외).
답변
netcat이 데비안 서버에 설치되어 있는지 확인하고 ProxyCommand
로컬 SSH 구성 ( ~/.ssh/config
) 에서 사용 하십시오 .
Host Kubuntu_desktop
ProxyCommand ssh Debian_Server nc localhost 1234
답변
@Ignacio Vazquez-Abrams 덕분에 여기에 모든 단계가 있습니다.
netcat이 데비안 서버에 설치되어 있는지 확인하고 로컬 SSH 구성 (~ / .ssh / config)에서 ProxyCommand를 사용하십시오.
다음과 같이 구성을 편집했습니다.
me@kubuntu_laptop:~/.ssh$ nano config
내용은 다음과 같습니다
Host kubuntu_desktop
ProxyCommand ssh debian_server_fqdn nc localhost 1234
User admin
PasswordAuthentication no
IdentityFile ~/.ssh/my_id_rsa
그런 다음 연결하십시오.
me@kubuntu_laptop:~$ ssh kubuntu_desktop
SSH를 통해 kubuntu_desktop에 1 단계로 연결되었습니다! 완전한
최신 정보:
이렇게하면 더 유연 해집니다.
me@kubuntu_laptop:~/.ssh$ nano config
새로운 내용은 다음과 같습니다.
Host family_desktops
ProxyCommand ssh debian_server_fqdn nc localhost %p
User admin
PasswordAuthentication no
IdentityFile ~/.ssh/my_id_rsa
그런 다음 엄마에게 연결하십시오.
me@kubuntu_laptop:~$ ssh family_desktops -p 1234
그리고 아빠에게 연결하십시오 :
me@kubuntu_laptop:~$ ssh family_desktops -p 5678
물론, Mom & Dad는 각각 고유의 -R 포트가 정의 된 단계 0을 설정해야합니다 (원래 질문에서). 아빠의 예 :
0 단계 (아빠의 경우) :
autossh -M 6543 -N -f -R 5678:localhost:22 user@mydebian.com -p 22
선택 과목:
DAD=5678
ssh family_desktops -p $DAD