시간 초과로 인해 모든 SSH 시도가 실패하는 이유는 무엇입니까? 못할 가능성이 큽니다. (이것은

ssh 및 관련 기술을 처음 사용하므로 기본적인 것을 이해하지 못할 가능성이 큽니다. (이것은 대신 서버 결함에 대한 질문 일 수도 있습니다.

웹 서버 (내 소유)에 ssh하려고하는데 시간 초과로 인해 연결이 설정되지 않습니다.

~ $ ssh -vvv DOMAIN.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 DOMAIN.com [123.45.67.89] port 22.
debug1: connect to address IPADD port 22: Operation timed out
ssh: connect to host DOMAIN.com port 22: Operation timed out

내 첫 번째 생각은 어떻게 든 도메인을 잘못 지정했거나 내 사이트에 문제가 있다는 것입니다. 그래서 FTP를 통해 동일한 도메인에 연결하려고 시도했지만 정상적으로 작동했습니다 (사용자 이름을 묻는 메시지가 표시되었습니다).

~ $ ftp
ftp> open
(to) DOMAIN.com
Connected to DOMAIN.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 (DOMAIN.com:USER):

그래서 SSH를 잘못 사용하고 있다고 생각했습니다. 이 튜토리얼 비디오를 보기 시작했습니다 . 약 1 분이 ssh will@supercars.com지나면 사용자 이름 프롬프트가 표시되지만 위와 동일한 시간 초과가 발생합니다. 그런 다음 ssh google.com동일한 작업 을 시도했습니다 . ssh localhost반면에 잘 작동합니다. 따라서 문제는 네트워크를 통한 SSH 요청과 관련이있는 것 같습니다.

나의 다음 생각은 그것이 방화벽 문제일지도 모른다는 것이었다. 이 컴퓨터에 Sophos가 설치되어 있지만 관리자에 따르면 나가는 SSH 요청을 “막아서는 안됩니다”.

왜 이런 일이 일어나고 있는지 알아낼 수 있습니까?



답변

이 오류 메시지는 연결중인 서버가 포트 22의 SSH 연결 시도에 응답하지 않음을 의미합니다. 그 이유는 다음 세 가지입니다.

  1. 머신에서 SSH 서버를 실행하고 있지 않습니다. 당신은 그것을 ssh 할 수 있도록 설치해야합니다.
  2. 해당 시스템에서 비표준 포트에서 SSH 서버를 실행하고 있습니다. 어떤 포트에서 실행 중인지 알아 내야합니다. 포트 2222에 있다고 가정하면을 실행하십시오 ssh -p 2222 hostname.
  3. 해당 머신에서 SSH 서버를 실행 중이며 연결하려는 포트를 사용하지만 머신에 연결할 수없는 방화벽이 있습니다. 방화벽을 변경하는 방법을 알아 내거나 다른 호스트에서 ssh를 허용해야 할 수도 있습니다.

편집 : 의견에서 (올바로) 지적했듯이 세 번째는 확실히 그렇습니다. 다른 두 개는 클라이언트의 연결 시도시 서버가 TCP “재설정”패키지를 다시 보내서 시간 초과가 아니라 “연결 거부”오류 메시지를 발생시킵니다. 다른 두 경우도 해당 될 수 있지만, 계속 진행하기 전에 세 번째를 먼저 수정해야합니다.


답변

SSH 포트 22에 연결할 수 있는지 여부는 telnet 명령으로 확인하십시오. 연결할 수없는 경우 확인하십시오. 먼저 포트 번호에서 연결할 수 있어야합니다. 서버에 22.

기본적으로 SSH 포트는 22입니다. 그러나 다른 포트를 구성한 경우 22 대신 해당 포트를 사용하십시오.

텔넷 <서버의 IP / URL> <포트>

예 : telnet domain.com 22