[unix] 중개인 서버를 통한 SSH 터널-한 단계로 연결하는 방법 (키 페어 사용)?

내 질문은 기본적으로 기존의 두 단계를 한 단계로 바꾸는 방법입니다.

다음과 같이 중개인 서버를 사용하여 두 컴퓨터 사이에 작동하는 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


답변