우선 올바른 명령은 다음과 같습니다.
ssh user@my.external.ip.address
그리고 라우터는 SSH 포트 22를 서버의 로컬 IP 주소로 전달하도록 구성되어야합니다.
추가 디버깅 :
1) 서버와 라우터에서 포트 22 (SSH)가 열려 있는지 확인하십시오 (포트 전달).
2) SSH 서버가 서버에서 실행 중인지 확인
3) 사용 ping
, ssh -v
연결 및 모양에있는 동안 /var/log/auth.log
더 연결 문제를 디버깅 할 수 있습니다.
1) 라우터에서 : 라우터 별 지침을 따릅니다.
서버에서 : sudo ufw status
(다른 방화벽 구성 유틸리티를 사용하지 않는 한) 또는 sudo iptables -L
(일반적인 방법이지만 복잡한 출력)
포트 22를 열려면 sudo ufw allow 22
cf https://help.ubuntu.com/12.04/serverguide/firewall.html
2) 설치되어 있는지 확인하십시오. dpkg -l openssh-server
실행 중인지 확인하십시오. service ssh status
또는ps aux | grep sshd
3) 연결 클라이언트에서 :
ping my.external.ip.address
ssh -v user@my.external.ip.address
서버에서 :
sudo less /var/log/auth.log
필요한 경우 라우터 로그도 확인할 수 있습니다.
온라인 포트 스캐너는 다음과 같습니다. https://www.grc.com/x/ne.dll?bh0bkyd2
나는 당신이 같은 도구를 사용할 수 있다고 생각합니다 nmap 또는 기타 하지만 아직 익숙하지는 않습니다.
변화하는 외부 IP 주소 다루기 :
1) dynDNS 또는 유사한 계정을 만드십시오 : http://dyn.com/dns/
동적 DNS 제공 업체 목록 :
2) 또 다른 해결책은 crontab 작업을 설정하는 것입니다. crontab 작업은 정기적으로 외부 IP 주소를 우편으로 보내거나 dropbox와 같은 온라인 스토리지 서비스에 넣습니다.
내 친구가 사용하는 스크립트는 다음과 같습니다.
#!/bin/bash
# Bash script to get the external IP address
MYWANIP=$(curl http://mire.ipadsl.net | sed -nr -e 's|^.*<span class="ip">([0-9.]+)</span>.*$|\1| p')
echo "My IP address is: $MYWANIP"
IPold=$(cat /home/USER/Dropbox/test.txt)
echo "Previous IP Address: $IPold"
if [[ $IPold != $MYWANIP ]] ;
then
echo "New IP"
rm /home/USER/Dropbox/test.txt
echo $MYWANIP >> /home/USER/Dropbox/test.txt;
echo $MYWANIP;
else
echo "Same IP";
fi
# example crontab entry:
## m h dom mon dow command
## */10 * * * * /home/USER/Dropbox/test_ip.sh
라우터 포트 포워딩 :
1) 먼저 다음을 실행하여 라우터의 로컬 IP 주소를 확인하십시오.
ip route | grep default
일반적으로 192.168.xx와 같습니다.
대체 방법 및 기타 OS 솔루션 :
2) 라우터에 로컬로 연결된 컴퓨터를 사용하여 이전에 찾은 IP에 액세스합니다 (예 : http://192.168.1.1). . 라우터 구성 인터페이스가 나타납니다.
3) 다음 단계는 라우터에 따라 다릅니다. OpenWRT를 사용하여 라우터에서 수행되는 방법은 다음과 같습니다.
https://newspaint.wordpress.com/2012/08/26/how-to-add-a-port-forward-using-the-web-interface-on-openwrt-10-03-1/