서버를 통해 직접 ssh 및 scp를 사용하는 방법은 무엇입니까?

서버를 통해 직접 ssh 및 scp를 사용하는 방법은 무엇입니까?

다음과 같은 방법으로 server2에 연결합니다.

home$ ssh server1
server1$ ssh server2
server2$

또한 때때로 이런 방식으로 scp를 수행해야 하는데 시간이 좀 더 걸립니다.

home$ ssh server1
server1$ scp server2:file .
server1$ exit
home$ scp server1:file .

집에서 명령 하나로 이 작업을 수행할 수 있는 방법이 있나요? 공개키 인증을 사용하고 있는데 비밀번호로도 작동하면 좋을 것 같아요.

답변1

MobaXterm을 사용하는 것이 좋습니다.

  • 여기에서 다운로드하세요:http://mobaxterm.mobatek.net/download-home-edition.html
  • "새 세션"을 클릭하고 "ssh"를 선택하십시오.
  • "원격 호스트 이름" 필드에 "server2" 컴퓨터 이름 또는 IP 주소를 지정하세요.
  • "SSH 수신 거부(게이트웨이 SSH 서버를 통해 연결)" 필드에 "server1" 컴퓨터 이름 또는 IP 주소를 지정하세요.

그러면 "server2" 컴퓨터에 직접 새로운 SSH 명령이 실행됩니다. 창 왼쪽에서는 "server2"에 직접 연결되는 그래픽 SFTP 파일 전송 도구에도 액세스할 수 있습니다.

답변2

다음과 같은 방법으로 SSH 터널링을 사용할 수 있습니다.

ssh -f server1 -L 8888:server2:22 -N

그러면 로컬 시스템의 포트 8888(다른 프로세스가 해당 포트를 사용하지 않는다고 가정)에서 소켓이 열리고, 연결은 server1을 통해 server2(SSH가 포트 22에서 실행되고 있다고 가정)로 터널링됩니다. 및 플래그 -N-fSSH에게 백그라운드로 분기하라고 지시합니다(터널을 중지하려면 프로세스를 종료해야 합니다).

이제 다음을 수행하여 server2에서 파일을 scp할 수 있습니다.

scp -P 8888 localhost:file

답변3

home$ server1 "ssh server2"

그러나 더 많은 서버가 관련되면 명령 문자열을 이스케이프하는 것은 고통스럽습니다.

답변4

동적 터널과 함께 SOCKS5 사용

첫 번째 머신에 대한 동적 SSH 터널을 만듭니다. 그런 다음 첫 번째 연결을 SOCKS5 프록시로 사용하여 원격 네트워크의 두 번째 호스트에 연결합니다.

퍼티를 통해 쉽게 설정할 수 있습니다. 원하는 만큼 프록시를 재사용할 수 있습니다. 일부 프로그램은 SOCKS5를 직접 지원합니다. 퍼티와 SSH처럼요.

Linux에서는 기본적으로 SOCKS5를 지원하지 않는 프로그램을 프록시화하는 데 프록시체인을 사용할 수 있습니다. Windows에서는 Proxycap을 좋아합니다. RDP와 잘 작동합니다.

Putty를 사용하여 이를 설정하려면:

첫 번째 호스트 설정 페이지의 터널 아래에서 다음을 수행합니다.

  • 동적 터널 생성
  • 포트를 9050으로 설정하세요.
  • 대상 부분은 동적이므로 비워 두세요.
  • 설정을 저장합니다. (세션 페이지에서 진행됩니다.)

그런 다음 두 번째 호스트 구성의 프록시 아래에서 다음을 수행합니다.

  • SOCK55를 선택합니다.
  • 프록시 호스트 이름을 127.0.0.1로 변경합니다.
  • 포트를 9050으로 설정하세요
  • 그런 다음 나머지 세션을 정상적으로 설정하십시오.
  • 설정 저장

두 번째 호스트에 연결합니다. 먼저 첫 번째 호스트에 연결하고 로그인해야 합니다. 그런 다음 프록시화된 SSH 연결을 통해 두 번째 호스트에 연결할 수 있어야 합니다.

ssh_config 항목을 사용하여 명령줄에서 이 작업을 수행할 수도 있습니다. http://www.undeadly.org/cgi?action=article&sid=20070925181947

관련 정보