이것은 확장입니다질문작성자: @Andre
중간 시스템을 통해 원격 SSHFS를 마운트하는 방법은 무엇입니까? 터널?
내 상황은 원격 디렉터리를 마운트하려는 경우와 동일하지만 차이점은 두 컴퓨터 모두 인터넷에 공개적으로 노출 A
되지 않는다는 것입니다. 내 로컬 워크스테이션입니다.B
A
그래서 나는 에서 ssh를 A -> B
할 수 없습니다 B -> A
.
B -> C
제가 자주 하는 일은 C
임대한 가상 서버(VPS)에서 역방향 연결을 설정하는 것입니다. 이 연결을 수행하고 연결이 끊어지면 다시 연결하는 스크립트는 @reboot
키에 의해 시작됩니다 cron
.
user@pcB $ ssh -R 2048:localhost:22 -p<port> user@serverC
그런 다음 A -> B
중간 길을 택합니다 A -> C -> B
.
user@pcA $ ssh serverC
user@serverC $ ssh -p 2048 user@localhost
user@pcB $ # okay, logged in.
pcB:/home/user
에 디렉토리를 마운트하는 방법을 찾고 있습니다 pcA
.
SSH를 통해 다른 컴퓨터에 연결하는 방법A -> C <- B
비슷하지만 제공된 솔루션이 이 경우에는 작동하지 않습니다 . 제 경우에는 연결 매핑이 A -> C -> B
.
답변1
생각보다 쉽습니다!
우리가 해야 할 일은 2048
포트를 serverC
포트에 바인딩하는 것뿐입니다 pcA
. 단순화를 위해 동일한 포트 번호를 사용합니다 2048
.
user@pcA $ ssh -L 2048:localhost:2048 user@serverC
이 터미널 창을 열어 두어야 합니다.
pcB:/home/user
그런 다음 로컬 설치 디렉터리는 pcA
다음과 같습니다.
sshfs -o port=2048 user@localhost:/home/user/ /mnt/pcB
좋은 부작용:freeNX
이는 또는 vnc
검색 과 같은 효율적인 X 서버 연결을 사용할 수도 있음을 의미합니다 . 머신 pcB
에 연결하고 올바른 자격 증명(사용자 이름/비밀번호)을 사용하기만 하면 됩니다 !localhost:2048
pcB
연결을 위해 터미널을 열어두지 않으려면 다음을 사용할 수 있습니다.
ssh -NfL 2048:localhost:2048 user@serverC
그렇게 하면 고용주/조직의 보안 정책을 위반할 수 있으므로 적절한 권한이 있는지 확인하십시오.