SSH 터널을 설정하여 SSH를 전달하는 방법은 무엇입니까?


13

라우터 뒤에 Ubuntu가 설치된 컴퓨터를 구성 할 수 없습니다. 그러나 해당 컴퓨터에 ssh 액세스 권한을 갖고 싶습니다. ssh 터널링으로 가능하다고 생각하지만 어떻게 해야할지 모르겠습니다. 터널링을 설정하려는 다른 서버가 있습니다. 어떻게합니까? 아니면이 문제를 해결하는 방법에 대한 다른 아이디어가 있습니까?

나는 시도했다 :

ssh -N user@my_server -L 22/localhost/8090

그러나 그것은 말한다 :

bind: Address already in use
channel_setup_fwd_listener: cannot listen to port: 22
Could not request local forwarding.

답변:


18

로컬 포트 ​​22에서 수신 대기하고 원격 시스템의 포트 8090으로 연결을 전달하도록 요청합니다. 로컬 포트 ​​22는 이미 로컬 SSH 서버에 의해 수행되었으므로이를 수행 할 수 없습니다.

나는 당신이 찾고있는 것이 원격 전달이라고 생각합니다. 교체 -L 22:localhost:8090로하는 -R 8090:localhost:22포트 8090에서 수신 대기하고 SSH 서버로 요청을 전달하는 원격 호스트를 말할 것이다.

원격 사이트에서 나중에 접속할 수 있도록 연결을 종료 한 경우 관련 옵션 ( -o TCPKeepAlive=yes또는 -o ServerAliveInterval=30) 을 추가하여 비활성 상태로 인해 연결 시간이 초과되지 않도록하려는 경우

따라서 다음과 같은 결과가 나타납니다.

ssh -N user@my_server -R 8090:localhost:22 -o ServerAliveInterval=30

또한 어느 시점에서 사용자와 서버 사이의 네트워크 홉 중 하나가 다운되면 지정한 KeepAlive 옵션에도 불구하고 연결이 끊어 지므로이 명령을 inittab에 추가하거나 daemontools 패키지 또는 배포판을 살펴볼 수 있습니다 등가로 인해 항상 부팅시 시작하고 시스템 종료와 다른 이유로 종료 될 때 다시 시작됩니다 (또는 무한 반복되는 쉘 스크립트에서 실행할 수 있지만 init 또는 daemontools가 더 깨끗한 솔루션입니다).


거의 작동합니다. 컴퓨터에 연결할 수 있지만 서버에 로그온 한 경우에만 할 수 있습니다. 어디서나 해당 포트를 통해 연결하고 싶습니다.
09:17에 klew

3
서버의 공개 주소 또는 와일드 카드를 포트 전달 정의 (-R 111.222.333.444:8090:localhost:22 또는 -R * : 8090 : localhost : 22)에 추가하면 작동 할 수 있습니다. 서버에서 비활성화 할 수 있습니다. 서버가 제어하는 ​​서버 인 경우 sshd_config에서 GatewayPorts 옵션이 활성화되어 있는지 확인하십시오.
David Spillett

ssh 터널링을 수행하는 데 도움이되는 스크립트를 작성했습니다. github.com/gdbtek/ssh-tunneling
Nam Nguyen

GatewayPorts Yes내 sshd_config에 추가 하면 대중에게 포트를 여는 데 도움이되었습니다.
Adam F

8

이 작업을 수행 할 수없는 이유는 로컬 컴퓨터의 포트 22를 원격 서버의 포트 8090으로 전달하려고하는데 이미 로컬 서버의 포트 22에서 실행중인 것이기 때문입니다. SSH 서버가 실행 중일 수 있습니다. 22를 다른 값으로 변경하여이 문제를 해결할 수 있습니다. 다음을 실행하여 포트가 사용 가능한지 확인할 수 있습니다.

# netstat -lep --tcp

여기에는 모든 청취 소켓이 나열되므로 포트가 목록에 없으면 사용 가능합니다.


3

lsof -i : PortNumber 명령을 사용하여 포트가 비어 있는지 확인합니다.

# lsof -i :2272

포트가 비어 있으면 출력에 아무것도 표시되지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.