저는 SSH 및 관련 기술을 처음 사용하기 때문에 몇 가지 기본적인 사항을 이해하지 못할 수도 있습니다.
SSH를 통해 내가 소유한 웹 서버에 연결하려고 하는데 시간 초과로 인해 연결이 설정되지 않습니다.
~ $ ssh -vvv example.com
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/USER/.ssh/config
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 102: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to example.com [123.45.67.89] port 22.
debug1: connect to address IPADD port 22: Operation timed out
ssh: connect to host example.com port 22: Operation timed out
처음에는 도메인을 잘못 지정했거나 사이트에 문제가 있다는 생각이 들었습니다. 그래서 FTP를 통해 동일한 도메인에 연결을 시도했는데 제대로 작동했습니다(사용자 이름을 묻는 메시지가 표시됨).
~ $ ftp
ftp> open
(to) example.com
Connected to example.com.
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 2 of 50 allowed.
220-Local time is now 12:47. Server port: 21.
220-This is a private system - No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Name (example.com:USER):
그래서 나는 아마도 SSH를 잘못 사용하고 있다고 생각했습니다. 이거 보기 시작했는데튜토리얼 영상. 약 1분 후에 그는 이 작업을 수행하고 사용자 이름 프롬프트를 받지만 위와 동일한 시간 초과가 발생합니다. 그런 다음 동일한 효과를 시도했습니다. 반면에 그것은 훌륭하게 작동합니다. 따라서 문제는 네트워크의 SSH 요청과 관련된 것 같습니다.ssh [email protected]
ssh google.com
ssh localhost
다음 생각은 이것이 방화벽 문제일 수도 있다는 것이었습니다. 이 컴퓨터에 Sophos가 설치되어 있지만 관리자에 따르면 나가는 SSH 요청을 "차단해서는 안 됩니다".
왜 이런 일이 발생하는지 알아내는 데 도움을 줄 수 있는 사람이 있나요?
답변1
이 오류 메시지는 연결하려는 서버가 포트 22의 SSH 연결 시도에 응답하지 않음을 의미합니다. 세 가지 이유가 있을 수 있습니다.
- 컴퓨터에서 SSH 서버가 실행되고 있지 않습니다. SSH를 통해 접속하려면 설치가 필요합니다.
- 이 컴퓨터에서 SSH 서버를 실행하고 있지만 비표준 포트를 사용하고 있습니다. 포트 2222에 있다고 가정하고 실행 중인 포트를 파악한 다음 를 실행해야 합니다
ssh -p 2222 hostname
. - 해당 컴퓨터에서 SSH 서버를 실행하고 있으며 연결하려는 포트를 사용하고 있지만 컴퓨터에 연결을 허용하지 않는 방화벽이 있습니다. 방화벽을 변경하는 방법을 알아내거나 다른 호스트에서 SSH를 통해 허용할 수도 있습니다.
편집하다: 주석에서 (정확하게) 지적했듯이, 세 번째 경우는 클라이언트가 연결을 시도할 때 서버가 TCP "재설정" 패킷을 보내도록 하여 "연결 거부" 오류 메시지가 나타나는 경우입니다. , 시간 초과 대신 수신됩니다. 이는 다른 두 가지에도 해당될 수 있지만 계속하기 전에 세 번째를 수정해야 합니다.
답변2
Telnet 명령을 통해 SSH 포트 22에 연결할 수 있는지 확인하십시오. 연결이 안되면 확인해 보세요. 먼저 포트 번호에 연결할 수 있어야 합니다. 서버에 22개.
기본적으로 SSH 포트는 22입니다. 그러나 다른 포트를 구성한 경우 22 대신 해당 포트를 사용하십시오.
텔넷 <서버 IP/URL> <포트>
예를 들어 telnetdomain.com 22
답변3
어리석은 것 같지만 나에게 일어난 일입니다. 연결하려는 장치와 동일한 네트워크에 있는지 확인하십시오. 집에서 사용하는 Wi-Fi가 아닌 휴대전화의 핫스팟 Wi-Fi를 사용하고 있습니다.
예를 들어, ping
:을 사용하여 확인할 수 있습니다 ping 192.168.0.3
. 컴퓨터에 ping을 보낼 수 없으면 컴퓨터에 연결할 수 없습니다. 잘못된 네트워크에 있거나 컴퓨터가 실행되고 있지 않습니다.