원격 SSH 세션에서 로컬 시스템으로 다시 SSH


12

SSH를 사용하여 다소 특이한 작업을 시도하고 있는데 작동하지 않을 수 있기를 바랍니다.

SSH를 사용하여 Mac에서 원격 서버에 연결하고 싶습니다. 여태까지는 그런대로 잘됐다. 이제 까다로운 비트, 원격 서버에 대한 연결이 설정되면 원격 서버에서 로컬 컴퓨터로의 연결을 시작하려고합니다. 알아, 미친 기본적으로 원격 서버를 탐색 한 다음 로컬 컴퓨터의 응용 프로그램에서 처리 할 수 ​​있도록 파일 정보를 로컬 컴퓨터로 다시 보낼 수 있도록이 후프를 뛰어 넘어야합니다. 잘만되면 그것은 의미가있다!

원격 서버에 로그인 한 후 로컬 컴퓨터로 SSH를 연결하면 터미널은 거기에 앉아 -v로도 오류가 발생하지 않습니다.

$ SSH_CLIENT 변수의 출력을보고 호출 해야하는 곳을 찾으려고 노력하고 있지만 표준 바닐라 인터넷 연결 (정적 IP 주소 없음)에서 이것이 문제의 원인 일 수 있다고 생각합니다.

내가 확립 한 것 : 나는 Mac (OS X 10.6.4)에 있고 시스템 환경 설정 / 공유에서 원격 로그인을 사용하도록 설정했습니다. LAN의 다른 컴퓨터에서 내 Mac으로 SSH를 시도하면 아무런 문제가 없습니다. 원격 서버에서 다른 서버 (로컬 컴퓨터가 아닌)에 SSH를 시도하면 아무런 문제없이 연결할 수 있습니다.

따라서 위의 사실은 로컬 및 원격 컴퓨터의 방화벽과 관련하여 명확하다고 생각합니다.

나는 여기에 분명한 것을 놓치고 있어야한다고 확신하지만, 내 인생에서 나는 그것을 처리 할 수 ​​없다.

올바른 방향으로의 도움, 링크 또는 일반적인 방해 행위는 대단히 감사하겠습니다!


ssh를 사용하여 원격 서버를 찾아 볼 수 있습니다. 아니면 afs를 사용하려고합니까? 포트 포워딩 및 / 또는 sftp / scp는 어떻습니까?
Andreas Rehm

안녕. 예, 원격 서버의 디렉토리 구조를 문제없이 연결하고 찾아 볼 수 있습니다. 무슨 말인지 잘 모르겠습니다. 죄송합니다. 기본적으로 계획은 다음과 같습니다. 로컬 Mac에서 원격 Linux 서버로 ssh하고 파일을 찾은 다음 설정된 연결을 다시 파이프로 연결하거나 이미 설정된 파일을 기반으로 새 연결을 생성 할 수 있습니다. Mac 앱이 서버로 다시 보내기 전에 데이터를 읽고 편집하는 로컬 시스템 나는 다른 프로토콜과 관련하여 이것을 어떻게 달성했는지 특히 소홀하지 않습니다.
i0n

답변:


9

로컬에 다시 연결할 때 전화를 걸기 전에 로그인 할 수 있다면 이것이 대답이 아닙니다. 그렇게 멀지 않다면 아마도 Mac으로 돌아 가지 않을 것입니다 (어딘가에 가지 않거나 게이트웨이에서 SSH를 누르지 않음). 리버스 터널을 시도하십시오 (서버의 sshd_config에서 GatewayPorts를 On으로 설정해야하지만 이것이 기본값이라고 생각합니다) :
you@yourMac$ ssh -R 2000:localhost:22 user@remoteserver
정상적으로 서버에 연결할 수는 있지만 터널을 열어 다시 연결할 수 있습니다 포트 2000 (1024 이상의 포트가 작동해야 함)you@yourserver$ ssh -p2000 user@localhost

편집 : 호스트 이름이 localhost로 변경되었습니다.


2
마지막 명령에서 user @ localhost를 사용해야합니다
b0fh

1
이것은 도움이되었습니다. 거기서 내가 원하는 곳에 도착했습니다! 위와 같이 역방향 터널로 연결 한 다음 ssh -p 2000 i0n @ localhost를 사용하여 로컬 Mac으로 다시 ssh를 연결할 수 있습니다. 그렇다면이 기능이 필요한지 미리 알지 못하고 어떻게 이것을 달성 할 수 있습니까? 즉, 기존 및 표준 ssh 연결이 있습니다. 이게 가능해?
i0n

고마워 b0fh, 나는 내가 그것을 썼을 때 잠자리에 들었다. 파이프 백해야 할 때 항상 터널을 사용하여 새 SSH 연결을 보낼 수는 있지만 프로그래밍 방식으로 수행되므로 옵션이 아닐 수 있습니다. 기대하십시오-어떤 언어라도 SSH를 통해 준비 할 수 있다면 그렇게 될 것입니다.
James L

2

서버에서 로컬 컴퓨터에 액세스 할 수 있습니까? 핑할 수 있습니까? 기계에 액세스 할 수 있으면 작업을 수행해야하기 때문에 묻습니다. 서버가 인터넷이나 LAN에 있고 동일한 서브넷입니까?

어쨌든 파일 만 편집해야하는 경우 scp를 사용하여 파일을 로컬 시스템으로 복사하지 않겠습니까? ssh를 사용하여 원격 서버에서 파일을 찾아보고 경로가 있으면 로컬 시스템 (다른 터미널)에 입력하십시오.

scp user@server:/path/to/file/on/server /local/path/to/save/file

파일을 다시 넣으려면 scp가 경로를 다시 전환하십시오.

Obs : scp를 사용하기 위해 초기 ssh 연결이 필요하지 않습니다.

이것은 터미널에서 액세스해야하는 경우입니다. 리눅스 (및 Mac에서는 확실하지만 어떻게 해야할지 모르겠다)에서 네트워크에 ssh 원격 위치를 마운트하고 로컬 디스크를 사용할 때 연결을 사용할 수 있습니다 (sftp이고 연결은 다음과 같은 형식입니다). sftp://user@server:/path/to/mount그리고 이것이 원격 터미널 연결 대신 필요한 것이므로 Mac 응용 프로그램으로 직접 파일을 편집 할 수 있습니다.


1

당신은 또한 살펴보고 싶을 수도 있습니다 sshfs( MacFuse가 필요합니다). 이를 통해 원격 시스템에 디렉토리를 마운트하고 시스템의 일반 폴더처럼 액세스 할 수 있습니다. 게다가, 당신은 여전히 ssh머신으로 들어가서 필요한 파일을 생성 / 검색 할 수 있습니다. 전송 그들은 다음 로컬 파일을 전송하는만큼 쉬운 것입니다.

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