중간자 서버를 통한 SSH 터널링 - 키 쌍을 사용하여 한 단계로 연결하는 방법은 무엇입니까?

중간자 서버를 통한 SSH 터널링 - 키 쌍을 사용하여 한 단계로 연결하는 방법은 무엇입니까?

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

다음과 같이 중간자 서버를 사용하여 두 컴퓨터 간에 작동하는 SSH 터널을 설정했습니다.

Kubuntu_laptop--->nat_fw--->Debian_Server<--nat_fw<--Kubuntu_desktop

제가 현재 하는 일은 Kubuntu_laptop에서 Debian_Server로, 그리고 Debian_Server에서 Kubuntu_desktop으로 SSH를 이용하는 것입니다. 내 Kubuntu_laptop의 bash에서 SSH 명령을 실행하고 싶습니다. 그러면 Kubuntu_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 [email protected] -p 22

Kubuntu_desktop은 인공 중개인에 연결됩니다.[이메일 보호됨](admin@debian_server 아님). 하지만 Kubuntu_desktop에 연결하면 관리자로 연결됩니다.

기존 모니터링 포트(5234)나 원격(-R) 포트 번호(이 경우 1234)를 변경할 수 없습니다. 비밀번호 로그인을 허용하도록 SSH 보안을 변경할 수 없습니다. 새 방화벽 포트를 열 수 없습니다. 사용자 계정을 변경할 수 없습니다(노트북 제외).

답변1

netcat이 Debian 서버에 설치되어 있고 ProxyCommand로컬 SSH 구성에 사용되는지 확인하세요( ~/.ssh/config).

Host Kubuntu_desktop
  ProxyCommand ssh Debian_Server nc localhost 1234

답변2

@Ignacio Vazquez-Abrams 덕분에 모든 단계는 다음과 같습니다.

Debian 서버에 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에 연결하세요! 완벽한

고쳐 쓰다:

이렇게 하면 더 유연해집니다.

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

물론 엄마와 아빠는 각각 자신의 -R 포트를 정의하는 0단계(원래 질문에서)를 설정해야 합니다. 아버지를 예로 들어보겠습니다.

0단계(아빠용):

autossh -M 6543 -N -f -R 5678:localhost:22 [email protected] -p 22

임의로 선택할 수 있는:

DAD=5678
ssh family_desktops -p $DAD

관련 정보