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


9

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

다음과 같이 중개인 서버를 사용하여 두 컴퓨터 사이에 작동하는 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 보안을 변경할 수 없습니다. 새 방화벽 포트를 열 수 없습니다. 사용자 계정을 변경할 수 없습니다 (노트북 제외).



@ HaukeLaging-흥미롭게 보이지만 이해가되지 않습니다. "nc"는 무엇입니까? 그리고 어떤 머신에서 ~ / .ssh / config를 편집합니까? 기본적으로 해당 질문 / 답변이 제공하는 것보다 더 자세한 정보가 필요합니다. 감사.
MountainX

이 질문은 Server Fault SE에 (알림없이) 교차 게시되었습니다. 이것은 매우 나쁜 형태입니다!
mdpc

모든 곳에서 다운 보트에게 감사하지만 두 곳에서 질문하는 것은 무엇이 잘못 되었습니까? 또한 ubuntuforums.org 또는 다른 곳에서 요청하지 못하게 하시겠습니까?
MountainX

@ HaukeLaging- 노트북 ~ / .ssh / config에서 ProxyCommand를 사용하는 경우 Kubuntu_Desktop의 호스트 이름으로 무엇을 입력합니까? fqdn이 없습니다. 이것은 역 SSH입니다. 감사.
MountainX

답변:


8

netcat이 데비안 서버에 설치되어 있는지 확인하고 ProxyCommand로컬 SSH 구성 ( ~/.ssh/config) 에서 사용 하십시오 .

Host Kubuntu_desktop
  ProxyCommand ssh Debian_Server nc localhost 1234

나는 모든 단계를 완전성에 대한 또 다른 대답으로 제시했지만 모두 귀하의 도움에 감사했습니다. 나는 당신의 대답을 받아들이고 있습니다. 감사합니다!!!
MountainX

6

@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

ProxyCommand는 다음과 같이 작성할 수도 있습니다. ProxyCommand ssh debian_server_fqdn -W localhost:%p따라서 데비안 서버에 netcat이 없어도됩니다.
Kevin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.