포트 포워딩이 양호하지만 LAN 외부에서 SSH를 사용할 수 없음


8

Ubuntu 12.04를 실행하면서 OpenSSH 서버를 설정했습니다. LAN 내에서는 연결할 수 있지만 외부에서는 연결할 수 없습니다. sshd_config다른 Ubuntu 12.04 시스템 과 동일한 파일을 사용하고 있습니다 (다른 LAN에 있음).

$ ssh 192.168.0.2

잘 작동하지만

$ ssh 65.76.97.222

(구성된 IP 주소)가 작동하지 않습니다. 아무 반응이 없습니다. 오류 메시지 등이 없습니다. 프롬프트가 바로 거기에 있습니다.

아래 의견 덕분에 웹 사이트 canyouseeme.orgShieldsUP 을 통해 포트 22가 실제로 열려 있는지 확인할 수있었습니다 .

옵션을 사용하면 -vvv다음과 같은 결과가 나타납니다.

$ ssh -vvv 65.76.97.222
OpenSSH_5.9p1 Debian-5ubuntu1.4, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 65.76.97.222 [65.76.97.222] port 22.
debug1: Connection established.
debug1: identity file /home/myname/.ssh/id_rsa type -1
debug1: identity file /home/myname/.ssh/id_rsa-cert type -1
debug1: identity file /home/myname/.ssh/id_dsa type -1
debug1: identity file /home/myname/.ssh/id_dsa-cert type -1
debug1: identity file /home/myname/.ssh/id_ecdsa type -1
debug1: identity file /home/myname/.ssh/id_ecdsa-cert type -1

그리고 프롬프트는 그냥 거기에 앉아 있습니다.

추가 디버그 정보 var/log/auth.log:

$ grep sshd /var/log/auth.log
[cutting old lines...]    
Jul  6 10:23:05 mymachine sshd[7871]: Did not receive identification string from 65.76.97.222

모든 사용자, 특히 내 자신의 사용자 이름을 연결할 수 있습니다. 나를 혼란스럽게하는 것은 다른 LAN에 있지만 다른 컴퓨터 에서이 문제가 발생하지 않았다는 것입니다. 이 LAN에는 컴퓨터가 하나만 연결되어 있습니다. 여기에서 진행하는 방법에 대한 아이디어가 있습니까?


상세 옵션 ( -v,, -vvto -vvv)을 사용하여 추가 정보를 얻으십시오. 연결. 예를 들어, ssh -vvv -p 51555 65.76.97.222.
amc

전달 포트를 확인하십시오 canyouseeme.org
hwez

감사합니다. 귀하의 의견을 반영하여 내 질문을 편집했습니다.
DustByte

답변:


3

몇 가지 확인해야 할 사항이 있습니다.

  1. /etc/ssh/sshd_config재미있는 AllowUsers항목 이 없는지 확인 하고 확인하십시오 .

  2. 연결하려는 사용자를 다음과 같이 지정하십시오.

    ssh USER@SERVER
    ssh SERVER -lUSER
    
  3. 방화벽을 확인하십시오 ( iptables) :

    sudo iptables -L --line-numbers
    sudo iptables -L -t nat --line-numbers
    

2

SSH 서버의 게이트웨이가 포트 전달을 수행하는 라우터로 설정되어 있는지 확인하십시오.

route -n

기본 경로는 해당 라우터를 다시 가리켜 야합니다. 그렇지 않으면 라우터를 통해 연결을 시작할 수 있지만 ACK는 어디에도 가지 않습니다!


1

포트 전달이 올바르게 작동하는지 확인해야합니다. 일반적으로 https://www.grc.com/shieldsup > 진행> 포트 번호를 상자에 넣고 사용자 지정 사용자 지정 포트 프로브를 클릭하여 확인하십시오. TCP 포트가 실제로 공개되어 있는지 알려줍니다.


감사. 귀하의 제안을 반영하기 위해 내 질문을 편집했습니다. 그러나 문제는 여전히 남아 있습니다.
DustByte

HUH 잘 네트워크가 배제되어 구성 문제처럼 보입니다. 시도grep sshd /var/log/auth.log
meccooll

다음 줄이 다음에 추가됩니다 auth.log.Jul 6 10:23:05 mymachine sshd[7871]: Did not receive identification string from 65.76.97.222
DustByte

1

사용자를 선언하고 있습니까?

ssh Jimmy@65.76.97.222 -p51555

코드를 사용하는 방식으로 코드를 제공하면 기본적으로 현재 사용자 이름으로 설정됩니다.

또한 TARGET 시스템에 권한이있는 사용자가 있어야합니다. 위의 예에서 "Jimmy"


나는 정말로있다. 나는 항상 같은 사용자와 만 연결하고 있으며 더 나아가 sshd_config모든 사용자가 연결할 수 있습니다.
DustByte
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.