티스토리 뷰

리눅스

SSH 로 원격로그인하기

꿈이 있는 자유 2010. 7. 16. 19:41
전통적으로 원격로그인하는 방법은 Telnet 을 이용했었다. 하지만, 보안문제가 발생, 다른 대안이 필요했다. 즉 Telnet 과 용도는 같지만 보안이 강화된 원격로그인방법이 필요했다. 그것이 SSH이다. Telnet 과 달리 서버와 클라이언트간에 데이터를 전송할 때 암호화해서 전송하기 때문에 상대적으로 Telnet 보다 안전하다 할 수 있다. 하지만 SSH 는 Telnet 과 방식이 거의 비슷하기 때문에 전 글에서 Telnet 에 대해서 학습했고, 이번 글에서는 SSH에 대해 알아보자.

SSH는 Secure SHell 의 약어이다. Telnet 과 다른 점은 서버와 클라이언트 간에 데이터가 암호화된다는 것이 중요하다. 원격로그인하려는 서버는 SSH 서버가 설치돼있으면 되고 연결하려는 클라이언트는 SSH 클라이언트 툴이 설치돼있으면 된다. 그 사이의 커넥션은 암호화되서 오고가기 때문에 보다 안전하다 할 것이다. SSH 서버 프로그램 중에 물론 상용화된 것도 있지만 여기서는 무료로 사용할 수 있는 OpenSSH 를 사용하도록 하겠다.

설치과정에 대한 간략한 순서는 아래와 같다.
1. 서버쪽에서 OpenSSH 설치여부 확인하기(<--미 설치시 설치할 것)
2. 서버쪽에서 Firewall 에서 포트 열기
3. 리눅스에서 클라이언트 툴로 연결 테스트하기
4. 윈도우즈에서 SSH 클라이언트 툴로 연결 테스트하기

1. 서버쪽에서 OpenSSH 설치여부 확인하기

리눅스중 Fedora 는 기본적으로 OpenSSH 가 설치돼있다. SSH 서버의 데몬서비스의 이름은 sshd 이다.


아래 명령으로 확인해 보자.

rpm -qa openssh   or   rpm -qa | grep openssh

현재 Fedora 서버에는 OpenSSH 서버가 설치돼있고 서비스가 현재 실행중임을 알 수 있다. 혹시 서비스가 시작되지 않으면 아래의 명령으로 시작하자.

service sshd start    or  /etc/init.d/sshd start

여기서 잠깐 OpenSSH 사이트에 들어가보자. 현재 최신버전도 보고 여기저기 사이트도 구경해보자.




2. 서버쪽에서 Firewall 에서 포트 열기

이제 다른 컴퓨터에서 리눅스 서버로 SSH를 이용해서 들어올 수 있도록 Firewall 에 포트를 추가하자. Firewall 로 들어가자.

system-config-firewall


Firewall에 포트를 추가할 권한은 당연히 일반 사용자는 안된다. 그래서 root 의 패스워드를 요구한다. Fedora는 기본적으로 Firewall 에서 SSH 포트를 열어놓는다.



3. 리눅스에서 클라이언트 툴로 연결 테스트하기

기본적으로 Fedora 는 OpensSSH 클라이언트 툴이 설치돼있다. 바로 연결하자. 연결하는 방법은 ssh UserID@SSH서버IP 이다.

ssh  Instructor@192.168.179.133


연결되면 아래와 같은 창이 나타난다.


접속시 RSA 키에 대해 연결할 것인지 물어보면 yes 라고 입력하면 된다.


연결에 성공했다. 그림을 보면 연결할 때의 계정은 root 였는데 연결 계정을 Instructor 로 했더니 연결 후 Shell Prompt 계정에 Instructor 라고 돼있다. 그리고 연결된 계정의 Working Directory 는 그 계정의 홈 디렉토리에 들어가 있다.

연결을 끊을 때는 Telnet 처럼 logout 을 넣으면 된다.



4. 윈도우즈에서 SSH 클라이언트 툴로 연결 테스트하기

이번엔 윈도우즈에서 연결해 보자. 현재 Windows7 에서는 SSH Client 툴을 기본적으로 제공하지 않는다. 그래서 별도로 SSH  클라이언트 툴을 설치해야 한다. 이미 전 글에서 Telnet 의 클라이언트 툴을 소개하면서 Netterm 이나 SecureCRT 를 설명했었는데, 그런 툴을 설치해서 사용해도 된다. 하지만 Shareware 이기 때문에 무료로 사용할 수 있는 SSH Client 툴인 PuTTY 를 이용하자.

한글 PuTTY를 다운받기 위해 아래 사이트트를 방문하자. 이 글을 쓰고 있는 현재 PuTTY 최신버전은 0.60이며 이미 한글로 패치돼있다.



설치를 위해 다운로드하자.


파일 사이즈가 크지 않기 때문에 바로 실행하자.


[다음] 버튼을 클릭한다.


여러 화면을 계속 [다음] 버튼을 클릭하면 위와 같은 그림이 나타난다. 연결을 쉽게 하기 위해 바탕화면에 바로가기 아이콘이 나오게 하고 빠른 실행에도 추가하기로 하고 나머지는 기본값 그대로 쓰자. [다음] 버튼을 클릭한다.


설치가 끝났다. 마지막으로 [완료] 버튼을 클릭하자.

설치가 모두 끝났으면 PuTTY 를 실행한다. 실행하기 위해 시작버튼의 [한글 PuTTY] --> [PuTTY] 를 클릭한다.
 

[접속대상정보] 섹션에 연결할 SSH 서버의 IP를 입력한다. 이미 포트넘버는 22번에 맞춰져 있다. [접속형식] 은 SSH 이다.


연결하면 리눅스 클라이언트에서 연결할 때처럼 RSA 에 대해 물어온다. [Yes]를 선택한다.


연결되면 아래와 같은 창이 나타난다. Telnet 으로 연결할 때처럼 계정명을 넣고 그 계정에 대한 패스워드를 입력하면 된다. 현재 기본 디렉토리는 그 계정의 홈 디렉토리에 위치해 있는 것을 알 수 있다.


굉장히 창이 투박하다. 글씨도 맘에 안들고 색상도 너무 좀 그렇다. 그래서 PuTTY 에서 몇 가지 설정을 해주면 좋다. 글씨사이즈, 글씨 색상, 더구나 한글이 제대로 먹질 않기 때문에 Charset 도 처리해야 겠다. 먼저 Charset 에 대한 설정이다.


현재 기본적으로 설정돼있는 값은 CP949 이다. 한글 입력을 원할히 하기 위해 메뉴 중 [] --> [변환] 을 선택하고 [수신한 데이터를 이 문자셋으로 가정(R)]에서 UTF-8 을 선택한다. 또한 폰트를 설정하기 위해 [창] --> [모양] 을 선택하자.


[글꼴 설정]에서 [Change...] 버튼을 클릭하여 본인이 원하는 폰트와 사이즈를 선택한다. 단, 필자는 Windows7 을 영문판으로 설치했지만 한글 윈도우7에서는 PuTTY에 대한 폰트가 몇개 지원하지 않아 제한된 글꼴을 선택해야 한다.


지금 설정한 정보들을 다음 연결시 다시 입력하거나 설정하지 않기 위하여 [세션] 메뉴로 돌아와서 [저장된 세션]에 목록 하나 만들고 [저장] 한 다음에, 다음 연결할 때부터는 [불러옴] 을 클릭하여 [열기] 하거나 더블클릭하면 된다. 글씨 색상이나 바탕화면 색상은 [] --> [색깔] 에서 선택하면 된다.


이렇게 설정하고 연결하니 아래처럼 변경된 폰트와 색상, 그리고 한글도 제대로 처리되는 것을 볼 수 있다.


연결을 끊을 때에는 Telnet 처럼 logout 하면 커넥션이 끊어지면서 PuTTY 창이 닫힌다. 자~ 이제 부터는 PuTTY 를 이용해서 원격에서 리눅스서버로 안전하게 로그인하여 작업을 수행할 수 있게 됐다.
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함