나는 내 집 PC에서 역방향 SSH 터널링을 사용하여 내가 소유한(나도 소유한) 인터넷 서버를 통해 제한된 클라이언트에 연결합니다.
이 SSH 터널의 중간자 구간에 대해 제한된 클라이언트를 설정하는 스크립트가 있습니다. 스크립트를 수동으로 실행하면 제대로 작동합니다. 여기있어:
#!/bin/sh
autossh -M 12399 -oPubkeyAuthentication=yes -oPasswordAuthentication=no -oLogLevel=error -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no -i ~/.ssh/named_id_rsa -R 12345:localhost:22 [email protected] -p 22
네트워크가 시작될 때 자동으로 실행되기를 원합니다이 기계에.
이를 달성하기 위해 다음과 같이 저장하려고 생각했습니다. /etc/network/if-up.d/reverse_ssh_tunnel.sh
"~/"를 제거하고 개인 키의 전체 경로를 home/username/.ssh/named_id_rsa로 지정해야 한다는 것을 알고 있습니다.
su -c 사용자 이름을 사용해야 한다고 생각 my_script_name
하지만 제대로 작동하지 않습니다. 내 문제의 이 부분을 해결하는 것이 가장 중요합니다. 완전히 자동화되고 무인화되어야 합니다.
집에서 연결하려면 다음 두 가지 단계를 수동으로 수행해야 합니다.
A. ssh 홈 -> 중개자
B. ssh 중개자 -> 제한된 클라이언트
A와 B를 한 단계로 완료할 수 있나요? (이것은 좋지만 필수는 아닙니다.)
간단히 말해서:
- 이상적으로는 A와 B를 한 단계로 수동으로 수행하고 싶습니다.
autossh
완전 자동이 되려면 제한된 클라이언트 -> 중간자 연결이 필요합니다 .
답변1
좋아, 드디어 작동하네요. 자세한 내용은 이 질문에 있습니다. SSH 역방향 터널을 통해 TeamViewer의 원격 데스크톱 대체
간단히 말해서:
데스크톱(지원 예정):
su -l -c "autossh -M 5234 -N -f -R 1234:localhost:22 [email protected] &" username
노트북(지원 포함):
me@laptop:~/.ssh$ 나노 구성
Host family_desktops
ProxyCommand ssh middleman_fqdn nc localhost %p
User admin
PasswordAuthentication no
IdentityFile ~/.ssh/my_id_rsa
그런 다음 한 단계만으로 "원격 데스크톱"에 연결합니다.
내@노트북:~$ ssh family_desktops -p 1234