사이드바 영역으로 건너뛰기

ssh 설치

1. 설치

    $ sudo apt-get install ssh

2. 포트 변경

    $ sudo gedit /etc/ssh/sshd_config

# port 22 에서 ‘#’ 를 제거하고 원하는 포트로 변경

3. 데몬 재시작

    $ sudo /etc/init.d/ssh restart

4. 서버 작동 확인

    $ netstat -ntl

tcp6        0        0        :::22(포트번호)       :::*        LISTEN    →   이렇게 뜨면 정상 작동 중

 

ssh 의 보안설정
음. ubuntu 의 sshd 는 root 접속을 허용한다.
바로 /etc/ssh/sshd_config 의 설정에서
PermitRootLogin yes
그런데, 보안상 권장하지 않는 방법이다. 일반적으로 no 로 설정해 놓는 것이 좋다.
또는 ssh 의 기본포트인 22 번 포트를 그냥 사용하는 것도 위험하다.

ssh brute force attack 이 끊이 없이 들어온다.
Port 22
의 기본포트를 다른 포트로 변경하는 것이 좋다.


간혹 root 로 로그인할 필요가 있다.(사실 거의 없다)
그런데, ssh 옵션에서 PermitRootLogin yes 로 해놓기는 좀 찜찜하다.
그런경우 ssh 접속을 특정 IP(clean IP?? )에서 접속이 가능하도록 해보자.
바로  /etc/hosts.allow 파일이다.
%주의% 잘못 만지면 접속을 못하는 수가 있으니, 원격작업은 가급적 하지 말자. ^^

파일을 열고 이렇게 입력해보자.
sshd: 127. : allow
sshd: 192. : allow
sshd: 210. : allow
sshd: ALL : deny
127, 192 등은 로컬IP 주소이다. 세번째 210. 은 210 으로 시작하는 IP 대역이다.
IP 주소 전체를 사용할 수도 있고, IP 주소를 class 단위로 정할 수도 있다.
(자신이 접속할 주소의 IP 를 적절하게 적어준다.)

또한 IP주소가 아닌 도메인주소로 적어줄 수도 있다.

허용한 대역의 IP 가 아닌경우 접속을 시도하면  다음처럼
ssh_exchange_identification: Connection closed by remote host
연결이 되지 않고 거부하게 된다.

/var/log/auth.log 에도 다음과 같이
sshd[5404]: refused connect from ::ffff:접속한IP주소 (::ffff: 접속한IP주소)
접속을 거부한 로그가 생긴다.

진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크