[FileZilla] 'ssh_init: No route to host / 서버에 연결하지 못함' 오류 해결 방법

개요

FileZilla를 사용하여 원격 서버에 연결하려 할 때, 'ssh_init: No route to host' 오류가 발생함!

 

펭귄은 FileZilla를 사용해서 원격 서버에 연결하려던 중, 'ssh_init: No route to host' 오류가 발생하며 서버 연결에 실패했다.

ssh는 잘 되고 있는 상황이라서 방화벽이나 네트워크 이슈는 아니라고 생각했고, 한참을 고생했다.

 

 

 

해결 방법

FileZilla를 사용하여 원격 서버에 연결하려 할 때 'ssh_init: No route to host' 또는 '서버에 연결하지 못함' 오류가 발생할 수 있다.

이 오류는 주로 네트워크 문제, 방화벽 설정, SSH 서비스 상태 등 여러 가지 원인으로 인해 발생한다. 이번 오류 외에도, 펭귄의 시행착오에서 겪은 몇 가지 원인과 해결방법을 정리했다.

ssh_init : no route to host

 

방화벽 문제

OS 방화벽이 활성화 되어있고, 요청이 방화벽에 차단되었을 경우 'No route to host' 에러가 발생할 수 있다. 이런 상황에서는 보통 FileZilla 연결뿐만 아니라, 터미널 등을 활용한 ssh 연결도 안 된다.

 

이럴 때는 방화벽 정책을 확인하거나, 방화벽을 재시작해주면 된다. 

ubuntu 환경을 예로 들면, 보통 ufw 방화벽을 사용하므로, 아래와 같이 정책을 확인하고 재시작할 수 있다.

# 방화벽 정책 확인
sudo ufw status

# 방화벽 재시작
sudo ufw reload

 

ssh 서비스 문제

방화벽은 열려 있지만, 서버의 ssh 서비스가 내려가 있을 경우에도 연결이 안 된다. 하지만 이때는 보통 'connection refused' 에러가 발생한다.  ssh 서비스 기동 상태를 확인하고, 재시작할 수 있다.

# ssh 서비스 확인
sudo systemctl status sshd

# ssh 서비스 재시작
sudo systemctl restart sshd

 

hosts.allow 문제

hosts.allow 가 설정되어 있을 경우, 연결이 안 될 수 있다. 이런 상황에서도 보통 FileZilla 연결뿐만 아니라, 터미널 등을 활용한 ssh 연결모두 안 된다. /etc/hosts.allow 파일을 수정해서 해결할 수 있다.

# hosts.allow 파일 확인
cat /etc/hosts.allow

# hosts.allow 파일 수정

vi /etc/hosts.allow

# 'ALL : 사용자 ip' 내용 추가

 

FileZilla 권한 문제

FileZilla에 충분한 권한이 없을 때, 연결이 안 될 수 있다. 펭귄의 경우에는 해당 문제 때문에 접속이 안 됐다.

ssh 접속은 잘 되는데, FileZilla 앱을 사용할 때만 'No route to host' 에러가 발생했기 때문에 펭귄의 PC 설정을 확인하다가 발견했다.

 

FileZilla 사용 시 아래 사진과 같은 팝업이 뜨는 데, 이때 '허용'을 꼭 눌러줘야 한다. '허용 안 함'을 누르면, FileZilla의 권한이 부족해서 원격 서버를 찾지 못해서 연결이 안 된다.

File Zilla 권한