OS/Linux

linux에서 서버간 SSH 연결이 안될때 hosts.allow 설정

호형 2020. 7. 22. 10:56

배포환경을 구성하다보면 서버간 ssh 연결이 안되는 경우(거의 대부분)을 볼수 있다. 이럴 경우에는 방화벽으로 막혀 있는것이 아니라면 hosts.allow 설정으로 해결할 수 있다. 

 

배포서버를 A, 개발서버를 B 라고 한다면 A가 source, B가 destination이 된다. 이때는 hosts.allow 를 설정은 B에서 하면 된다. 주석이 끝나는 부분 다음에 다음과 같이 설정한다. 

 

B 서버 hosts.allow (vi /etc/hosts.allow) 설정

sshd:ip1 ip2 ip3 

 

이런식으로 공백을 두고 여러 IP를 입력할 수 있다. sshd 외에 pop, vsftpd, sendmail 등의 프로세스도 제어할 수 있다. 또한 모든 프로세스를 허용 하려면 ALL: ip1 ip2 ip3 이런식으로 세팅을 하면 된다. 

 

hosts.allow에는 '허용' 할것만 넣는다면 어디선가에서는 모두 '거부'를 해야 한다. 그곳이 hosts.deny 이다. 

 

B서버 hosts.deny (vi /etc/hosts.deny) 설정

ALL:ALL

 

이렇게 설정을 마치면 배포를 하기 위한 ssh 연결이 될 것이다. 

 

끝!