Linux ETC

SSH(Secure shell) 사용하기

2008.05.19 20:36

호스트웨이 조회 수:30539

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

번호 제목 글쓴이 날짜 조회 수
26 tcpdump 기본 사용 sylee 2008.07.02 39641
25 특정 계정만 su 명령어 사용 file 호스트웨이 2012.05.05 39719
24 VSFTP 에서 사용하는 port를 변경하기 호스트웨이 2012.03.23 39723
23 openssl 간단 사용법 호스트웨이 2008.12.10 41116
22 리눅스 Sleep 명령어 file 호스트웨이 2012.08.10 42166
21 터미널 창으로 메시지 보내기 호스트웨이 2008.05.19 44239
20 ssh-key를 생성하여 서버에 패스워드 없이 접속하는 방법 jook 2008.06.25 44757
19 Kernel Parameters HOSTWAY 2008.06.04 45459
18 /bin/false, /sbin/nologin 의 차이점 호스트웨이 2012.08.10 45875
17 시스템 시간 확인 및 동기화 하기 sylee 2008.05.15 46982
16 history 조회시 '날짜,시간' 표시하기 호스트웨이 2012.03.16 49594
15 xinetd 소개 및 설정 호스트웨이 2012.06.29 51913
14 top 명령어 및 옵션 설명 file 호스트웨이 2012.03.27 52564
13 강제 umount 방법 (umount : device is busy 발생시) 호스트웨이 2012.11.30 55499
12 서비스 이름으로 포트 번호 확인하기 호스트웨이 2012.04.13 57736
11 fdisk 명령어를 이용하여 수동으로 파티션 나누기 file 호스트웨이 2015.11.30 57740
10 비대해진 로그 파일 내용을 비우는 방법 - /dev/null 호스트웨이 2012.03.16 61423
9 head 와 tail 사용하기 sylee 2008.05.14 63485
8 국가명 약어 (국가코드) 호스트웨이 2012.04.13 65006
7 Swap 메모리 늘리기 file 호스트웨이 2012.03.30 67218