SSH를 통해 다른 컴퓨터에 연결하는 방법

SSH를 통해 다른 컴퓨터에 연결하는 방법

나는 가지고있다컴퓨터.

컴퓨터 1그리고컴퓨터 2개인 LAN에서컴퓨터 1우리 모두 알고 있듯이컴퓨터 2~처럼192.168.0.2

컴퓨터 2그리고컴퓨터 3다른 LAN에서컴퓨터 2우리 모두 알고 있듯이컴퓨터 3~처럼192.168.123.101

어떻게 연결하면 돼?컴퓨터 1~에서컴퓨터 3SSH를 통해.

다음과 비슷한 것이 있습니까?

ssh [email protected] -via [email protected]

답변1

ssh -o 'ProxyCommand ssh -W %h:%p [email protected]'

그런 다음 간단히 실행할 수 있습니다 ssh PC1.

별칭을 통해 사용하는 것이 더 좋습니다 ~/.ssh/config.

Host PC1
HostName 192.168.0.2
User user
ProxyCommand ssh -W %h:%p [email protected]

-W해당 옵션이 없는 이전 버전의 OpenSSH(이것은 5.4 이하를 의미한다고 생각함)의 경우 다음을 확인하세요.인터넷 고양이PC2에서 사용 가능

Host PC1
HostName 192.168.0.2
User user
ProxyCommand ssh [email protected] nc %h %p

답변2

SSH를 사용하는 명확한 솔루션이 있습니다.

  1. ~/.ssh/config다음 콘텐츠를 포함하도록 로컬 컴퓨터에 설정하세요 .

    host WhatYouWillCallTheConnection
        hostname the.gateway.server.address.com
        user YourUsernameOnTheGateway
    
  2. 연결하려는 게이트웨이 및 터미널 서버에서 로컬 클라이언트의 공개 키가 있는지 확인하세요.~/.ssh/authorized_keys

  3. 게이트웨이 머신에서는 ~/.ssh/authorized_keys다음과 같이 클라이언트 공개 키를 지정하는 줄 시작 부분에 필수 명령을 추가하도록 변경해야 합니다.

    command="ssh -A [email protected]" ...yourPublicKey....
    

-A항상 비밀번호를 보내는 것을 좋아하지 않는다면 프록시를 전달할 수 있습니다...

그렇게 하면, 그런 일을 할 때마다 ssh WhatYouWillCallTheConnection게이트웨이를 통과해 투명하게 반대편에 있는 서버에 연결됩니다.

답변3

포트 포워딩이 유용할 수 있습니다.
PC1에서:

~# ssh -fN -L 22:PC3:7777 -l <user> PC2  

7777은 아직 사용 중이 아닌 한 모든 포트가 될 수 있습니다. 나는 이 번호와 +1로 관리할 수 있는 "주문"(7778, 7779 등)을 좋아합니다.

이 작업을 완료하면 PC1의 로컬 포트 ​​7777에서 PC3의 포트 22까지 "투명한" 터널이 생성됩니다. 그냥 발행하세요:

~# ssh -l <user> -p 7777 localhost  

그리고 PC3에 있어야 합니다.
SOCKS 프록시를 설정하려는 경우 -D를 사용하여 포트를 동적으로 전달할 수도 있습니다.

~# ssh -D <someport> -fN -L 22:PC3:7777 -l <user> PC2  

건배!

답변4

내가 아는 유일한 해결책은 ssh 스크립트입니다사악:

Belier를 사용하면 SSH 연결을 통해 원격 컴퓨터에서 셸을 열거나 명령을 실행할 수 있습니다. Belier의 주요 기능은 작업을 완료하기 전에 여러 중간 컴퓨터를 확장하는 기능입니다.

나는 이것을 얼마 전에 발견했다.README.sshhopMIT 링컨 연구소 홈페이지에 올라와 있는데 더 이상 정보를 찾을 수가 없네요. 더 아는 사람 있나요?

관련 정보