sshd가 로컬 네트워크로부터의 인바운드 연결을 허용하고 외부 인바운드 연결을 거부하는 이유는 무엇입니까?

sshd가 로컬 네트워크로부터의 인바운드 연결을 허용하고 외부 인바운드 연결을 거부하는 이유는 무엇입니까?

인터넷에서 내 서버에 연결하려고 하면 항상 다음과 같은 메시지가 나타납니다.

debug2: ssh_connect: needpriv 0
debug1: connect to address XX.XX.XX.69 port 22: Connection refused
ssh: connect to host XX.XX.XX.69 port 22: Connection refused

그러나 LAN에서는 192.168....모든 것이 괜찮아 보입니다.

왜 그런 차이가 있습니까?

노트으로 테스트해봤습니다 telnet XX.XX.XX.69. 포트 22가 열려 있습니다.

답변1

"연결이 거부되었습니다"는 방화벽이 연결을 차단하고 있거나 대상 호스트의 해당 포트를 수신하는 서버가 없음을 의미합니다. Telnet 시도는 작동하지만 SSH 시도는 작동하지 않는 몇 가지 가능한 이유는 다음과 같습니다.

  • SSH를 사용하려고 하면 SSH 데몬이 실행되지 않습니다.
  • 동일한 시스템에서 telnet과 ssh를 시도하지 않고 있으며 ssh를 실행 중인 시스템에서는 SSH 연결이 허용되지만 telnet을 실행 중인 시스템에서는 허용되지 않습니다.
  • SSH 서버가 필요합니다포트 노크. 텔넷 시도는 포트 노크 직후에 발생하지만 ssh를 시도할 때 노크의 유효성이 만료됩니다.
  • 서버의 IP 주소는 동적이며 당시 다른 시스템에 할당됩니다.
  • 시도 사이에 네트워크 구성에 일부 변경이 발생했습니다. 라우터에 있을 가능성이 가장 높지만 클라이언트 컴퓨터, 서버 또는 그 사이 어느 곳에나 있을 수도 있습니다. 네트워크 설정에 대한 추가 정보 없이는 추측하기가 어렵습니다.

관련 정보