우분투 14.04에서 openssh를 설치하고 SSH 포트를 변경했습니다. LAN 내부에서는 문제 없이 로그인이 되지만, 외부에서는 접속이 되지 않습니다.
또한 방화벽을 통해 허용하고 linksys 라우터에서 포트 전달을 설정했습니다.
로그인할 때마다 오류가 발생합니다(숫자 대신 #을 대체했습니다).
ssh: connect to host #.#.#.# port #: Can't assign requested address
그 밖에 무엇을 확인할 수 있고 무엇이 잘못되었을 수 있나요? 도와주세요.
답변1
나에게는 IPv6 대신 IPv4를 사용하기 위해 SSH용 키를 사용하는 것이 도움이 되었습니다.
ssh -4 ....
답변2
다른 이유가 있을 수 있습니다.
먼저, 귀하의 SSH 서버가 올바른 IP/인터페이스를 수신하고 있다고 가정합니다. 어쨌든 이를 확인하는 쉬운 방법은 SSH 서버에 입력하는 것입니다.
netstat -putan |grep ssh
또는 OS 유형/버전에 따라:
ss -putan |grep ssh
올바른 인터페이스에서 수신하는 경우 SSH 서버가 tcp, tcp6 또는 둘 다에서 수신하는지 확인하세요.
때로는 tcp와 tcp6을 모두 듣는 경우 문제가 발생할 수 있습니다(즉, IPv4와 IPv6를 듣는다는 의미)... SSH 구성 파일을 편집해야만 IPv4를 들을 수 있습니다./etc/ssh/sshd_config값을 추가/편집합니다.
AddressFamily inet
이렇게 변경한 후에는 SSH 서버를 다시 시작해야 합니다.
이 경우 SSH 접속이 없더라도 대상 IP로 ping을 하는 것을 권장합니다. 응답이 수신되지 않으면 양측의 IP/마스크 및 라우팅 테이블을 확인하십시오. 라우팅 테이블은 다음 명령어로 확인할 수 있습니다.
ip route
답변3
IPv6 사용을 중지하기 위한 클라이언트 옵션으로 설정할 수 있습니다.
~/.ssh/config
Host *
AddressFamily inet