Linux ETC

SSH(Secure shell) 사용하기

2008.05.19 20:36

호스트웨이 조회 수:24406

SSH 서버 설정

 

리눅스가 설치된 서버에는 기본적으로 telnet이나, ssh를 설치해서 원격으로 서버를 관리하게 된다.

telnet이나 ssh가 설치되어 있는지 확인하려면, 아래와 같이 확인할 수 있다. 물론, source 버전을 컴파일해서 사용하는 경우도 있겠지만, 특별한 경우를 제외하고는 기본 제공되는 rpm 버전을 사용하면 된다.

telnet의 경우는 패킷을 전송할 때 평문으로 전송을하며, ssh는 패킷을 암호화 해서 전송을 하게 된다. telnet의 경우는 보안상 취약하기 때문에 ssh를 사용할 것을 권장한다.

[root@localhost root]# rpm -qa | grep telnet

telnet-server-0.17-20

telnet-0.17-20

[root@localhost root]# rpm -qa | grep ssh

openssh-askpass-3.1p1-3

openssh-clients-3.1p1-3

openssh-3.1p1-3

openssh-server-3.1p1-3

openssh-askpass-gnome-3.1p1-3

[root@localhost root]#

 

ssh의 기본 설정 파일은 /etc/ssh/sshd_config 파일이다. 설정파일에서 ssh가 사용할 포트, 접속 가능한 계정이나, ip주소 등을 제한 할 수도 있지만, default 설정사항을 그대로 사용해도 무방하다.

ssh로 원격지 서버에 접속을 하려면 우선 서버상에 아래와 같이 ssh 데몬이 정상적으로 떠 있어야 한다.

[root@localhost xinetd.d]# netstat -natp | grep LISTEN

tcp      0      0 0.0.0.0:21             0.0.0.0:*              LISTEN      1487/proftpd: (accept)

tcp      0      0 0.0.0.0:22             0.0.0.0:*              LISTEN      1794/sshd

 

[root@localhost xinetd.d]# ps aux | grep ssh

root      1723  0.0  0.7  3636 1800 ?        S    10:12   0:00 /usr/sbin/sshd

root      1794  0.0  0.4  2696 1072 ?        S    10:13   0:00 /usr/sbin/sshd

 

만약 ssh데몬이 떠있지 않다면, 원격으로 서버에 접속할 수 없으며, 콘솔상에서 아래와 같은 명령으로 ssh 데몬을 실행해야 한다.

[root@localhost xinetd.d]# /etc/rc.d/init.d/sshd start

Starting sshd:                                             [  OK  ]

또는

[root@localhost xinetd.d]# service sshd start

Starting sshd:                                             [  OK  ]

위와 같이 ssh 데몬이 정상적으로 구동이 되었다면, 원격으로 ssh를 통해서 접속이 가능하다.

만약 서버 부팅시 ssh데몬이 자동으로 뜨도록 설정이 되어 있지 않다면, 아래와 같은 방법으로 ssh 데몬이 자동 구동되도록 설정 할 수 있다.

[root@localhost xinetd.d]# chkconfig --list  | grep ssh

sshd            0:off   1:off   2:off   3:off   4:off   5:off   6:off

 

[root@localhost xinetd.d]# chkconfig --level 345 sshd on  à 런레벨 3,4,5로 부팅시에 ssh 데몬 실행

 

[root@localhost xinetd.d]# chkconfig --list  | grep ssh

sshd            0:off   1:off   2:off   3:on    4:on    5:on    6:off

chkconfig 명령 이외에 ntsysv 명령어를 사용해도 부팅시에 자동으로 실행될 데몬을 선택할 수 있다.

명령 프롬프트 상에서 ntsysv 명령을 입력하고 sshd 데몬을 선택후 빠져나오면 재부팅시에 자동으로 ssh데몬이 실행되게 된다.

 

ssh 프로그램으로 서버에 접속하기

 

윈도우에서 리눅스 서버로 ssh 접속을 하기 위해서는 ssh 접속 프로그램을 이용해야 한다. 일반적으로 putty, zterm, sshwin, secureCRT 등의 프로그램을 많이 사용하는데, 서버의 ip와, port 접속계정 및 패스워드만 입력을 하면 접속이 되게 된다.

 

1. putty 사용하기.

- putty를 실행하고, host name에 접속할 서버의 주소를 입력하고, protocol 부분에 ssh를 선택한 후 port 번호를 확인하고 open을 클릭하여 접속한다.

 

2. zterm 사용하기.

- zterm을 실행해서 ip주소, port, 계정, 패스워드를 입력한 후에 connect 를 클릭하여 접속한다.

 

이상으로 ssh 서버 설정 및 윈도우 pc에서 접속하는 방법에 대해서 알아 보았다.  ssh 서버 설정 및 ssh 사용에 대한 사항은 아래의 문서에서 더 자세하게 확인 할 수 있다.

http://wiki.kldp.org/wiki.php/DocbookSgml/SSH-KLDP