Pi에서 인터넷을 통한 SSH 설정


16

이것은 간단한 질문 일지 모르지만 여러 리소스 (무엇입니까? 인터넷상의 모순)에서 모순 된 정보를 읽었을 때 내가해야 할 모든 일을했는지 ​​알고 싶었습니다.

인터넷을 통해 액세스 할 수 있도록 RasPi에 SSH 연결을 설정하려고합니다.

  1. raspi-config도구를 사용하여 Raspbian을 실행하는 Pi에서 SSH를 활성화하는 것으로 시작했습니다 .
  2. 그런 다음 Pi에 no-ip.com 클라이언트를 설치하여 동적 IP 주소를 가리키는 호스트 이름을 갖습니다.
  3. 라즈베리에서 LAN IP를 조회했습니다. ifconfig
  4. 마지막으로 라우터 구성 유틸리티의 포트 전달에서 TCP 및 UDP의 포트 22를 내 pi의 로컬 IP로 전달할 수있었습니다.

이 후 인터넷을 통해 내 파이에 SSH로 연결할 수 없습니다. 로컬 IP를 사용하여 LAN 내부 에 연결하려고 시도 하지만 호스트 이름이나 인터넷 IP 주소는 사용하지 않습니다. 또한 다른 위치에서 연결을 시도했지만 아무것도 작동하지 않습니다.

내 질문 : 단계가 빠졌습니까? 모든 것이 작동하도록 pi에서 편집해야 할 구성 파일이 있습니까?


iptables -LPi 의 출력을 포함하십시오 .
deed02392

1
이 문제를 아직 해결 했습니까? 그렇다면 해결 한 답변을 표시하거나 자신이 한 일을 설명하는 자체 답변을 작성한 다음 답변으로 표시 할 수 있습니까? 우리가 사이트 Q : A 비율을 높이려고 할 때 좋을 것입니다.이 질문은 @Zeta에 의해 그대로 유지되었습니다. 감사!
RPiAwesomeness

no-ip.com을 사용하여 웹 및 ssh를 위해 인터넷을 통해 Pi에 연결하므로 라우터 또는 ISP가 들어오는 트래픽을 차단하고 있습니까?
Alastair Montgomery

NAT 루프백을 지원하지 않는 라우터와 매우 흡사합니다.
flakeshake

이 링크를 찾았습니다. raspberryanywhere.com 아마도 도움이 될 수 있습니다. 몇 주 동안 서비스를 사용하고 있으며 훌륭하게 작동합니다! 이 링크는 어디서나 라즈베리 보드에 액세스하는 것과 같은 간단한 소프트웨어 팀 뷰어를 제공합니다. 또한 일반적인 SSH 클라이언트를 사용할 수 있습니다. SSH 또는 HTTP를 통해 보드에 연결할 가상 주소 만 제공합니다. 시도해 볼만한 가치가 있습니다!
스테파노 스테파노

답변:


12

인터넷을 통해 SSH를 통해 Raspberry Pi에만 연결하려는 경우 ngrok.com이 가장 편안한 방식으로 문제를 해결할 수 있습니다.

그것은 어떤 종류의 역 터널로 포트를 전달하고 방화벽이나 ISP의 제한을 우회하는 데 도움을 줄 수 있습니다. TCP 트래픽을 전달하려면 사이트에 등록 (무료)해야합니다.

나는 어떤 식 으로든이 프로젝트와 관련이 없습니다. 방금 동일한 아이디어 (OpenVPN-Server를 전달하는 경우)를 달성하는 데 사용했으며 지금까지 아무런 문제가 발생하지 않았습니다.


방금이 문제가 있었고 ngrok보다 훨씬 더 serveo.net을 사용했습니다. 완전 무료, 0 구성은 22 포트 명령을 사용자 정의 별명으로 붙여 넣은 다음 연결하십시오.
Madhava Jay

3

Pi가 라우터의 DHCP에서 동적 IP를 사용하고 있기 때문에 Pi의 로컬 IP가 변경되어 설정 한 포트 전달이 작동하지 않을 수 있습니다.

이 문제를 해결하는 가장 간단한 방법은 (적어도 내가 본 것) 고정 IP를 설정하는 것입니다. 구성 파일에서 신경 쓰지 않아도되는 한 비교적 간단합니다. 여기여기 에서 좀 더 자세히 읽을 수 있습니다 . 아래 간단한 방법도 설명하겠습니다.

  1. 홈 네트워크 내 SSH를 통해 또는 화면을 통해 Pi에 연결하십시오.

  2. 펜과 종이를 잡고 정보를 적어 두십시오.

  3. 명령을 실행하십시오 ifconfig. 이미 실행했음을 알고 있지만 이번에는 로컬 IP에 대한 정보를 조금 더 수집해야합니다. 이것은 라우터 정보를 나타내며, 원하는 비트는 eth0 (이더넷 연결) 이후입니다. . . .

    eth0      Link encap:Ethernet  HWaddr b8:27:eb:b3:fc:2c
              inet addr:192.168.1.81  Bcast:192.168.1.255  Mask:255.255.255.0
    

    다음 정보를 기록하십시오 ...

    inet addr – 192.168.1.81 (Pi's Current IP Address)
    Bcast –  192.168.1.255 (The Broadcast IP Range)
    Mask –  255.255.255.0 (Subnet Mask Address)
    

    분명히, 귀하의 정보는이 튜토리얼과 다를 것이므로 , Pi에서 실행 되는 명령 정보 를 사용해야 합니다ifconfig .

  4. 이제 netstat -nr또는을 실행하십시오 route -n. 우리는 필요합니다 :

    '게이트웨이' 주소 – 192.168.1.254
    '대상' 주소 – 192.168.1.0

  5. 이제 정보를 얻었으므로 인터페이스 파일을 편집하여 동적 IP를 설정할 수 있습니다. 를 실행하십시오 sudo nano /etc/network/interfaces. 다음과 같이 보일 것입니다 :

    인터페이스 파일

  6. 줄을 바꾸십시오 :

    iface eth0 inet dhcp
    

    iface eth0 inet static
    

    그런 다음이 줄 바로 아래에 다음을 입력하십시오 ( 참고 : 위에서 수집 한 자신의 주소가 필요합니다 ). . . .

    address 192.168.1.81
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255
    gateway 192.168.1.254
    

    기본적으로 주소 부분은 IP가 원하는 것입니다. IP 충돌 가능성이 적으므로 높을수록 좋습니다. netmask – 앞서 적어 둔 '마스크'주소.

    네트워크 – 라우터 IP 주소. 이것은 이전에 찾은 '대상'주소입니다. 라우터에서 이것을 잡을 수도 있습니다. 어딘가에 있습니다.

    브로드 캐스트 – 앞서 기록한 'Bcast'주소.

    게이트웨이 – 이것은 앞에서 찾은 '게이트웨이'주소입니다.

    를 눌러 Ctrl+ O및 중 Enter또는 YEnter. 완료되면 Ctrl+ 를 누르십시오 X.

  7. 실행 sudo reboot하고 IP가 제자리에 있어야합니다! 다시 로그인하여 ifconfig명령을 다시 실행하면 다음과 같이 표시됩니다.

    공상!

그런 다음 새 고정 IP로 포트 전달을 구성하면 모두 작동합니다! 행운을 빌어 요!


2
투표를 한 사람이 이유를 설명 할 수 있습니까? 나는 이것이 완벽하게 유효하고 실행 가능한 솔루션이라고 생각합니다. 나는 왜 대답을 향상시킬 수 있는지 알고 싶습니다.
RPiAwesomeness

1
이것은 로컬 네트워크에서만 작동하며 외부에서는 작동하지 않습니다. OP는 같은 네트워크가 아닌 인터넷을 통해 Pi에 연결하는 방법을 물었습니다.
Chinmay Sarupria

192.168.1.100과 같은 주소는 로컬 주소이며, 같은 지역 주소로 도시의 다른 두 부분에 2 Pi를 가질 수 있습니다. 물론, 나는 네트워크 외부에서 그들 중 하나에 액세스 할 수 없습니다.
Chinmay Sarupria

RPi에 고정 IP 주소를 제공하면 DHCP 풀에서 해당 주소를 제외해야합니다. 그렇지 않으면 네트워크의 다른 장치에서 해당 IP 주소를 얻을 수 있으며 IP 충돌이 발생합니다.
Dmitry Grigoryev

2

잘못 구성된 것 같습니다 SSH는 TCP 전용 프로토콜이므로 포트 22에서 UDP 트래픽을 전달할 필요가 없습니다.

이제 왜 작동하지 않는 것 같습니다. 라우터가 NAT 루프백을 지원하지 않기 . 의미는 연결의 출처가 내부 LAN에서 온 경우 NAT 규칙 (예 : 전달 규칙)이 적용되지 않는다는 것입니다. 모든 라우터에이 기능이 켜져있는 것은 아닙니다. 따라서 라우터가 NAT 루프백을 지원하지 않으면 no-ip.com 도메인 이름을 사용하거나 LAN에서 수행 할 때 SSH를 사용하여 RPi에 연결할 수 없습니다 .

구성이 작동 중인지 확인하려면 일부 데이터 연결 (3G, LTE 등)이있는 스마트 폰이 있고 SSH 클라이언트가있는 경우 WiFi 연결이 아닌 데이터 계획을 사용하여 RPi에 연결하십시오. ssh 클라이언트가없고 테 더링을 수행 할 수있는 경우, 로컬 네트워크 용으로 플러그를 뽑고 대신 테 더링 링크를 사용하여 스마트 폰을 컴퓨터 중 하나와 함께 사용하십시오.


0

무료 도메인 이름 (예 : co.cc)을 사용해보십시오. 또는 이와 유사한 것)과 freeDNS (다양한 하위 도메인도 제공)를 사용하여 라우터를 가리켜보십시오. 라우터에 동적 IP가있는 경우 업데이트 스크립트를 얻을 수 있다고 생각합니다.

그래도 작동하지 않으면 포트 포워딩 설정이 잘못 되었습니까? 어떤 종류의 라우터가 있습니까?


Try using a free domain name...그는 그렇게했습니다. 그것이 바로 IP가없는 고객입니다. 수동 DNS 및 라우터를 망쳐 놓는 것보다 훨씬 간단합니다.
RPiAwesomeness

@RPiAwesomeness 죄송합니다. 몰랐습니다.
Samadi

문제 없어요. 방금 Stack Exchange 회원이되고 사이트를 관리하는 일을하고있었습니다. 도움이되는 비판 일뿐입니다. 이 사이트의 콘텐츠를 유용하고 유익하게 유지하기 위해 노력하고 있습니다. 계속 도와주고 질문에 답변하고 참여하십시오. 시작하기 시작하십시오. :) 또한 때때로 채팅에 참여합니다. 자신의 할 일의 사랑에 사람들은 회사가하는, 그리고 그것은이 사이트가 유용하고 번성 것을 보여준다 좋은, 관련 사용자 기반을 가지고있다.
RPiAwesomeness

0

핀란드 에이 상황이 있습니다 .rpi는 모바일 wifi 라우터, huawei e5776에 연결되어 있으며 지금까지 인터넷을 통해 SSH를 사용하여 rpi에 연결하려고하지만 성공하지 못했습니다. 모바일 광대역 고객. 그들에 대한 양방향 트래픽은 ISP가 개방 게이트라고하는 추가 서비스 (비용을 지불해야 함)입니다. 따라서 ISP 사이트로 가서 해당 상황인지 확인하십시오.


0

Slubbix 는 Raspberry Pi의 로컬 IP 주소가 고정되어 있지 않을 수있는 문제를 지적했습니다. 라우터의 포트를 신뢰할 수 없게 만듭니다. 기본적으로 Raspberry Pi는 DHCP를 사용하도록 구성되어 있습니다. 이것은 IP가 라우터에 의해 주어진다는 것을 의미합니다. 이 IP는 기본적으로 고정되어 있지 않습니다.

이 문제에 대한 한 가지 해결책은 이미 Slubbix에 있습니다 : Raspberry Pi의 IP를 고정 시키십시오.

내 생각에 이것은 두 가지 단점이 있습니다. 네트워크에 쉽게 유지 관리되는 IP의 전체 목록이 없으며 다른 네트워크 (IP는 이미 사용 중이거나 다른 하위 마스크)에서 Raspberry Pi를 사용할 수 없습니다.

따라서 다음을 수행 할 것을 제안합니다. 고정 IP를 Raspberry Pi의 MAC 주소에 할당하도록 라우터를 구성하십시오. MAC 주소는 다음 명령을 사용하여 찾을 수 있습니다ifconfig


0

무선 어댑터를 사용하여 연결하지 않으면 Raspberry Pi의 로컬 IP 주소가 고정되지 않으므로 IP 주소가 유지됩니다. RPI에 SSH를 사용하려면 다음 단계를 수행하십시오.

터미널 프롬프트에서 Pi를 시작하십시오. 다음 명령 "sudo apt-get install xrdp"를 입력하십시오. 승격 된 경우 비밀번호를 입력하십시오 (기본값은 "raspberry") "Y"를 입력하고 Enter를 누르십시오. 이제 원격 데스크톱 연결에 사용할 소프트웨어 인 Pi에 xrdp를 설치합니다. 완료 될 때까지 기다리십시오. Pi를 다시 시작하십시오. xrdp가 자동으로 시작되는지 확인할 것입니다. Pi가 명령 프롬프트로 부팅되면 [ok] 원격 데스크톱 프로토콜 서버 시작 : xrdp sesman을 찾습니다. 이것은 xrdp가 설치되어 Pi를 시작할 때 자동으로 시작됨을 보여줍니다. 마지막 단계는 Pi의 IP 주소를 기록하여 시작 화면에도 표시해야합니다. 아래의 경우에는 192.168.1.9입니다.

두 번째 머신 설정

  1. 시작-> 모든 프로그램-> 액세서리-> 원격 데스크톱 연결에서 찾을 수있는 원격 데스크톱 연결을 시작하십시오.
  2. 위에서 언급 한 Pi의 IP 주소를 입력하십시오.

  3. 연결을 클릭하십시오 (이 단계에서 보안 경고가 표시 될 수 있습니다. 확인을 클릭하면 네트워크에서 Pi이므로 보안에 대해 걱정할 필요가 없습니다).

  4. 모듈을 sesman-Xvnc의 기본값으로두고 Pi의 사용자 이름과 비밀번호를 입력하십시오. (변경하지 않은 경우 기본값은 pi 및 라즈베리입니다).

  5. OK (확인)를 클릭하면 잠시 후 Raspberry Pi의 데스크탑에 인사드립니다.

  6. 완료되면 Pi의 데스크탑에서 간단히 로그 아웃하십시오.

나는에서 이러한 단계를 발견 여기에 그들은 나를 위해 일

SSH를 사용하는 다른 방법은 다음과 같습니다.

Raspberry Pi에 SSH 일반적으로 SSH 또는 Secure Shell을 통해 Raspberry Pi에 로그인하여 전체 이름을 지정합니다. 이를 통해 다른 컴퓨터에서 Raspberry Pi에 명령 줄에 액세스 할 수 있습니다. 전 세계 어디에서나 Raspberry Pi에 SSH로 연결할 수 있지만이 게시물은 로컬 네트워크를 통한 SSH 액세스 만 다룹니다. 향후 블로그 게시물에서 원격 연결을 다룰 것입니다.

이것은 GUI (Graphical User Interface)에 대한 액세스를 제공하지 않지만 명령 행에 액세스하면 일반적으로 필요한 작업의 95 %를 수행 할 수 있습니다. 다른 5 %는 아마도 SSH를 통해 할 수 있지만 때로는 GUI의 편안함을 이길 수 없습니다. :-)

먼저 로그인하려는 Raspberry Pi의 IP 주소를 알아야합니다. 이 방법을 모르는 경우 내 블로그 게시물을 읽고 nmap이라는 우수한 도구를 사용하여 원격 으로이 작업을 수행하는 방법을 설명하십시오.

Linux 또는 Apple Mac 컴퓨터에서 Raspberry Pi로 SSH 연결하는 것은 매우 쉽습니다. 다음 형식을 사용하여 사용자 이름과 IP 주소를 명령 줄에 입력하면됩니다.

ssh username @ IP 주소

원격 컴퓨터에 로그인하려는 사용자 이름으로 username을 대체하십시오. IP 주소는 192.168.1.66 형식이어야합니다.

호스트의 진위를 확인할 수 없다는 메시지와 계속 연결을 원하는 경우 메시지가 표시 될 수 있습니다. Raspberry Pi에 처음 SSH를 연결할 때만이 메시지가 표시됩니다. 예를 입력하십시오.

그런 다음 비밀번호를 묻는 메시지가 표시되면 연결하려는 사용자 이름의 비밀번호를 입력하십시오.

Windows의 경우 PuTTY라는 추가 소프트웨어가 필요하므로 설정하기가 조금 더 까다 롭습니다. 그러나 일단 설치되면 사용이 정말 간단합니다.

먼저 PuTTY 웹 사이트 (www.putty.org)로 이동하여 소프트웨어를 다운로드하여 설치하십시오.

일단 설치되면 PuTTY

호스트 이름 (또는 IP 주소) 아래에 연결하려는 IP 주소를 입력하십시오. SSH 단일 선택 단추를 선택하십시오. 저장된 세션 아래의 상자에이 컴퓨터를 식별하는 이름 (예 : Raspberry Pi)을 입력 한 다음 저장을 클릭합니다. Open을 클릭하면 SSH 세션이 시작됩니다.

다음에 Raspberry Pi에 SSH를 연결하려면 PuTTY를로드하고 저장된 세션을 클릭하여 강조 표시 한 다음 열기를 클릭하십시오. 암호를 입력 한 후 요청하면 Raspberry Pi에 원격으로 액세스 할 수 있습니다.

여기 에서이 지침을 찾았 습니다


인터넷을 통해
Dmitry Grigoryev

0

내 인터넷에서 알 수있는 한 가지는 웹 서버를 포트 전달하고 공용 IP를 사용하여 웹 서버에 연결하려고 시도했을 때 사용할 수 없다고 말했지만 전화 또는 학교 네트워크에서 웹 서버에 연결할 때 연결할 수 있습니다. 또한 Google로 이동하여 검색 창에 "IP"를 입력하고 제공 한 IP를 복사 한 다음 Google 번역으로 이동 하여 IP에 붙여 넣으십시오. 그런 다음 오른쪽 창에서 파란색 IP 주소를 클릭하면 웹 서버를 성공적으로 포워딩하면 표시됩니다.


0

기본 SSH 포트 (22)에서 들어오는 트래픽을 허용하기 위해 해당 포트의 모든 TCP 트래픽이 들어오는 것을 허용하도록 iptables에 지시 할 수 있습니다.

sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT

위의 목록을 다시 참조하면 iptables를 알려줍니다.

  1. 이 규칙을 입력 체인에 추가하여 ( -A INPUT) 들어오는 트래픽을 살펴 봅니다.
  2. TCP ( -p tcp) 인지 확인하십시오 .
  3. 그렇다면 입력이 SSH 포트 ( --dport ssh) 로 이동하는지 확인하십시오 .
  4. 그렇다면 입력 ( -j ACCEPT)을 수락하십시오 .

희망이 당신을 위해이 작품은 또한 당신은, 20 ~ 21 인 FTP 포트를 추가 단지를 변경할 수 있습니다 ssh2021.


0

이 질문에 추가 답변이 필요한지 확실하지 않지만 매우 간단합니다.

  1. OpenSSH를 설치하거나 다음에서 활성화하십시오 raspi-config

  2. 필자의 경우 192.168.1.1에서 라우터 / 방화벽 홈 페이지로 이동

  3. 포트 전달 또는 가상 서버를 찾아서 다음과 같이 추가하십시오.

    외부 포트 시작 : 1234 외부 포트 끝 : 1234

    내부 포트 시작 및 종료 22.

    서버 IP는 제 경우 192.168.1.50에서 RPi의 고정 IP입니다.

  4. 라우터 측에 모두 설정되면 Google에서 IP를 검색하여 WAN IP를 기록하십시오.

  5. 이제 인터넷을 통해 파이에 SSH를 연결할 수 있어야합니다. 필자의 경우 크롬 북을 사용하고 보안 셸 애드온을 사용합니다. 필자의 경우 사용자 이름 pi@mywanip과 포트 1234를 입력합니다.

기본적으로 3 단계의 방화벽 규칙은 WAN IP 포트 1234의 모든 트래픽을 내부 LAN IP 포트 22로 전달합니다.


-1

이 간단한 방법을 찾을 때까지 인터넷을 통해 SSH를 설정하는 데 많은 어려움을 겪었습니다.

http://raspctl.com

명령을 등록하고 복사하여 붙여 넣기 만하면됩니다. 구성 파일을 편집해야 할 수도 있지만 그게 전부입니다. 나는 오늘 그것을 테스트했고 그것은 매력처럼 작동합니다. 다른 SSH 안드로이드 앱에서도 시도했습니다.


언급을 잊어 버렸습니다 : 라우터에서 포트 전달을 설정하십시오!
alkopop79

1
참고 : 그 프로젝트는 중단 된 것 같습니다.
bobstro
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.