기본적으로 나는 ssh 서버 (Machine A)와 ssh client (Machine B)가 인터넷에 액세스 할 수있는 한 네트워크 구성에 관계없이 teamviewer와 같은 것을 할 수 있기를 원합니다. ), 액세스 권한을 얻을 수 있습니다. 그 이유는 머신 A를 다른 곳으로 옮기고 전원에 연결하고 사전 구성된 여러 Wi-Fi 네트워크 중 하나에 자동 연결되도록하기 위함입니다 (각각 고유 / 다른) 네트워크에서 포트 포워딩 또는 이와 유사한 구성을하지 않고 시스템 B에서 인터넷을 통해 로그인 할 수 있습니다.
어떻게하면 되나요? 핸드 셰이크를 돕기 위해 정적 IP 주소로 서버에 무언가를 설정하는 것은 중요하지 않지만, 이미 존재하는 경우 (팀 뷰어처럼) 타사 서버는 신경 쓰지 않습니다.
명확성을 위해 편집하십시오 : 나는 3 대의 기계, AB와 C가 있습니다
A는 임의의 위치에서 전원을 켜고 끄고 사전 구성된 Wi-Fi 네트워크에 연결되는 헤드리스 라즈베리 파이입니다.
B는 연결하려는 적절한 모니터, 키보드 등이있는 기기입니다.
C는 고정 IP 주소를 가진 임대 AWS 서버이며 B에서 SSH로 안정적으로 연결할 수 있으며 B가 A에 연결하는 데 필요한 모든 것을 설치할 수 있습니다
답변
인터넷에 컴퓨터 C가 있으면 이름이라는 특수 계정 sesame
을 만들고 A에 공개 키를 sesame
C 의 계정으로 복사 한 공개 / 개인 키를 사용하여 계정을 만듭니다 .
이제 A에서 C로 로그인 할 수 있지만 그렇게하는 대신 다음을 수행하십시오.
ssh -N -R 19930:localhost:22 sesame@yourserverC
(이를 수면 문 또는 10 초와 결합하여 무한 루프로 감싸서 WiFi가 다운되어 연결이 끊어지면 연결이 다시 설정되도록 할 수 있습니다)
컴퓨터 B에서 일반적으로 C에있는 모든 계정에 로그인하십시오 (계정이 될 필요는 없지만 sesame
다른 계정은 내가 사용하는 것입니다). 그리고 C를 사용 중이면 다음을 사용하여 A에 로그인하십시오.
ssh localhost -p 19930
물론 19930과 다른 번호를 사용할 수 있습니다.
A의 개인 키가 암호로 보호되어 있지 않은 경우 ssh -N -R ...
from 을 실행할 수 있습니다 /etc/rc.local
. 이 경우 sesame
컴퓨터 A가 손상 / 도난 당할 때 서버 C의 위험이 제한되도록 기능이 제한된 별도의 계정 을 만들어야 합니다. 그렇기 때문에 별도의 계정을 사용하여 B에서 C로 이동하는 것이 좋습니다.
당신은 실제로의 로그인 쉘을 설정할 수 sesame
에 /etc/passwd
에 /bin/false
더 이상 로그인에 대한 계정을 사용할 수 있습니다.
답변
Raspberry Pi에 IPv6 터널 (예 : Sixxs )을 설치하십시오. 이제 Pi가 온라인 상태가 될 때마다 온라인으로 유지되는 영구 정적 IPv6 주소를 갖게됩니다. 지금 세상에 연결되어 있으므로 Pi를 보호하십시오.
B가 IPv6 네트워크에 연결된 경우 Pi에 직접 연결하십시오. B가 IPv6 네트워크에 연결되어 있지 않으면 C를 점프 서버로 사용하십시오. 여기서 점프 서버로 IPv4를 통해 C에 연결 한 다음 IPv6를 통해 C에서 Pi로 ssh하십시오.
답변
또한 이것을보십시오 :
사용 된 기술은 허용 된 답변에 설명 된 기술과 동일하지만 일부 스크립트를 사용하여 작업을 자동화하고 솔루션을보다 일반적으로 만듭니다. 또한 Docker 컨테이너 내부의 전체 구성을 구성하여 무언가가 손상된 경우 기본 시스템이 안전합니다.
그러나 A에서 C 로의 자동 연결을 제공하지는 않으며 수동으로 시작해야합니다. 어쩌면 원하는 것을 정확하게 수행하도록 솔루션을 약간 사용자 정의 할 수 있습니다.
답변
아마도 당신은 ssh 또는 터널링 개념 이외의 것을 사용해야 할 것입니다. 나는 whatsapp 또는 전보와 같은 메시징 개념을 사용하는 것이 좋습니다. 그러나 vim과 같은 것을 사용하려면 ssh만큼 좋지 않다고 생각합니다.
전보에는 특정 명령을 수락하고 실행하여 raspi에서 구현하도록 수정할 수있는 전보 cli 클라이언트가 있습니다.
Telegram을 사용하는 경우 C 서버가 전보 메시징 서버로 대체되어 있기 때문에 네트워크를 단순화하고 최소한 C 시스템을 허브를 줄이기 위해 줄일 수 있습니다. 전보에는 이미 iphone 및 Android 클라이언트가 있으므로 B가 필요하다고 생각하지 않습니다 기계도 원하는 경우 특정 OS에 대해 전보 클라이언트를 설치할 수 있습니다. 보안? 전보 메시지가 새겨 져 있습니다. 누군가 당신의 raspi를 복용하고 싶으십니까? 텔레 그램 서버를 먼저 수행합니다.
raspi가 방화벽 / 프록시 / 개인 IP / 동적 IP 뒤에있는 경우에도 raspi가 텔레 그램 서버 (단순히 raspi를 인터넷에 연결)에 연결할 수있는 한 언제든지 원격을 수행 할 수 있습니다.
이 컨셉으로 언제 어디서나 리모컨을 사용할 수 있습니다.
답변
역 ssh 포트 포워딩을 살펴 봐야한다고 생각합니다. 간단히 말해서, 먼저 아래 구문을 사용하여 A에서 C로 ssh를 시작한 다음 해당 포트를 사용하여 C에서 A로 다시 터널링하십시오. R-Pi가 이미 있기 때문에 A의 홈 방화벽에 도달하지 않습니다. 터널.
ssh -R 2210 : 로컬 호스트 : 22 myCoolAwsSite.com
그렇게 할 때 보안에 미치는 영향을 고려하십시오. 다시 부팅 한 후 연결이 다시 설정되도록 일부 cron jujitsu를 추가 할 수 있습니다.