SSH(Secure Shell)_시작하기(1)
작성자 정보
- 웹관리자 작성
- 작성일
컨텐츠 정보
- 8,037 조회
- 0 추천
- 목록
본문
SSH(Secure Shell) |
목차 SSH가 무엇인가 |
SSH가 무엇인가? |
바로 앞에서 든 예가 TCP/IP가 작동하는 방식이고 또한 어떤 식으로 피해를 입는지도 나타낸 것이다. 실제로 스니핑이라는 해킹 기법을 사용하면 네트웍을 통해 하는 얘기들을 엿들을 수가 있고 사용자의 ID와 패스워드 역시 쉽게 알아낼 수가 있다. 우리들이 일반적으로 많이 사용하는 telnet과 역시 버클리 대학에서 개발한 r자로 시작하는 많은 원격 유틸리티들도 이와 같이 그냥 TCP/IP를 사용하기 때문에 원격으로 접속해서 우리가 무슨 짓을 하는지 모두 보이게 된다. 만일 우리가 감시당한다면 이는 기분이 나쁠 뿐만 아니라 개인적인 프라이버시의 문제이기도 하다. 그러면 위의 예를 다시 생각해 보자.
영희와 철수는 지난 번의 사건 때문에 크게 상처를 받았고 그 후로 교실에서 아예 말을 못하게 되는 실어증까지 걸렸다. 그러나 영원히 말을 안하고 살 수는 없는 법! 그 둘은 드디어 한 가지 방법을 고안해 냈다. 바로 둘만의 밀어를 만들어낸 것이다. 이제는, "철수야!"가 아니라 "철수얌~"이라고 부른 뒤에 "엥?"이라는 대답이 오면 그 다음부터 암호로 얘기하는 것이다. "숭구리당당" "앗사라비아" "니꼴라~스?" "쿤타킨테~"라고 둘은 말하게 되는데, 교실에 있는 48명의 학생들은 심술궂은 학생을 포함해서 아무도 무든 얘기를 주고 받는지 알 길이 없다. 다만, 미리 동일한 프로토콜을 사용하기로 약속한 영희와 철수만이 저 위의 대화가 "사랑해" "나도 그래" "정말이야?" "당근이쥐"라는 뜻임을 알고 있는 것이다. 이 암호를 개발한 뒤부터 영희와 철수는 심술궂은 학생이 엿들을 걱정도, 놀림받을 염려도 없이 마음껏 대화를 할 수 있게 되었다.
것이 바로 SSH이다. SSH는 Secure Shell의 약자로 SSH Communication Security Ltd에서 개발한 것인데, 이는 자유롭지 못하기 때문에 OpenBSD 프로젝트에서 완전히 새롭게, 독점 코드를 사용하지 않고 만들어 구현한 것이 바로 OpenSSH이며 OpenSSH는 암호화 기법을 사용해 통신을 하게 되므로 매우 안전하다. OpenSSH는 현재 SSH1과 SSH2를 모두 지원하고 있다. 다만, SSH 전용의 특허등을 피하기 위해 옵션으로 제공되지 못하는 것들이 조금 있다.
OpenSSH에서 제공하는 프로그램등으로는 ssh, scp, sftp, sshd, sftp-server 등이 있는데, 대부분의 경우는 ssh, sshd, scp를 사용하게 될 것이다. sshd는 Secure Shell Server로 telnet 서버와 같이 ssh의 요청을 받아들이고 처리하는 역할을 한다. 다른 사람들이 자신의 컴퓨터로 ssh를 통해 로그인할 수 있도록 하려면 이를 사용하면 된다. ssh는 rsh (Remote Shell)이나 telnet 또는 rlogin (Remote Login)과 같은 종류의 프로그램으로 Secure Shell Server가 구동되고 있는 곳에 안전하게 접속할 수 있도록 해준다. scp는 Secure Copy로 rcp (Remote Copy)와 같이 원격 서버로 쉽게 파일들을 복사할 수 있도록 해준다.
OpenSSH를 개발하는 OpenBSD에 대한 설명을 안하고 넘어갈 수가 없는데, 아주 간략하게 설명하자면, 유닉스를 처음 Bell 연구소에서 만들었고, 버클리 대학에서는 몇 가지를 수정하고 추가해서 사용하고 판매했는데, 나중에 저작권 문제 때문에 커널 코드부터 새롭게 작성하게 되었고, 이 BSD (Berkeley Software Distribution)에서 386에서 사용할 수 있는 버전이 나왔고 이 것이 FreeBSD와 NetBSD로 대표된다. 1990년대 초, Theo de Raadt은 NetBSD의 SPARC 포팅을 책임지고 있었는데 Theo와 NetBSD 코어팀과의 NetBSD 개발방향에 대한 이견 때문에 Theo는 그 일을 그만두고 OpenBSD를 만들게 되었다. OpenBSD는 보안에 가장 신경을 쓰는 운영체제이며, 그 때문에 현존하는 모든 운영체제 가운데 가장 보안에 강력하다고 평가를 받고 있다. 한 예를 들어, OpenBSD에서는 스웝 파티션까지도 선택적으로 암호화할 수가 있다! |
왜 SSH 를 사용해야 하는가? |
• 인증(Authentication)
• 암호화(Encryption)
• 무결성(Integrity) • 압축(Compression) SSH 연결을 통해 보낸 데이터를 압축 할 수 있다. SSH 클라이언트/서버 사이에서 데이터를 보내기 전에 압축하고 이를 암호화해서 전송한다. 데이터를 받는 쪽에서는 복호화(decryption)한 후 압축을 해제함으로써 구현한다
이전의 철수와 영희 이야기에서 보았듯이 OpenSSH는 telnet, ftp, rlogin, rsh, rcp를 대체하는 안전하고, 암호화된 네트워크 연결 도구이다. 누군가 여러분이 사용하는 Telnet, Ftp,rsh,rcp등에서 전송되는 글자들(패스워드)을 가로채어 보기를 원하지 않는다면 사용하는것이 좋다 OpenSSH를 사용하는 또 다른 이유는 OpenSSH는 클라이언트 컴퓨터로 DISPLAY 변수를 자동으로 전송한다. 즉, 로컬 컴퓨터에서 X 윈도우 시스템을 실행 중에 ssh 명령을 사용하여 원격 컴퓨터로 로그인한 경우에, 원격 컴퓨터 상에서 X를 사용하는 프로그램을 실행하면 그 프로그램은 로컬 컴퓨터 상에 나타난다. ssh를 통한 모든 데이타는 암호화되며, 트래픽은 압축되어 더 빠른 전송 효율을 얻을수 있다. 또한 기존의 ftp,pop 같은 안전하지 못한 서비스들을 위한 "터널"까지 지원한다. sshd 서버를 운영하지 않는 서버 관리자는 보안에 전혀 관심이 없는 사람이다. www.openssh.org의 OpenSSH FAQ에는 아래처럼 말하고있다.
강력한 보안 프라이버시 보호. 모든 통신은 자동으로 그리고 투명하게 암호화된다. 안전한 X11 세션. 원격 서버에 DISPLAY 변수를 자동으로 설정하고 모든 X11 연결을 보안채널을 통해서 포워딩한다. TCP/IP 포트를 양 방향에서 다른 포트로 자유롭게 포워딩할수 있다. rlogin, rsh, rcp등을 완전히 대체한다. 선택적으로 데이터를 압축하여 느린 네트워크 상에서의 속도 향상 서버는 자신의 RSA 키를 가지며 일정 시간마다 자동으로 재 생성한다. |
어디서구하나? |
ssh의 원 제작처인 www.ssh.com (핀란드 회사) 와 BSD licence(사실 100% BSD licence는 아니다.)의 www.openssh.org가 그것이다. 나는 openSSH를 사용하며 이 문서도 openSSH를 기준으로 설명할 것이다. openSSH는 하나의 클라이언트/서버에서 ssh1,ssh2 프로토콜을 모두 지원한다.
ssh는 이미 사용하는 리눅스 배포본에 포함되어 있을지도 모른다. 직접 컴파일 하여 사용하고 싶다면 www.openssh.org에서 소스를 받아 설치한다. 그외 ssh를 사용하기 위해 꼭 필요한 openssl 라이브러리는 www.openssl.org에서 구할수 있다.
openssh는 OpenBSD, NetBSD, FreeBSD, AIX, HP-UX, IRIX, Linux, NeXT, SCO, SNI/Reliant Unix, Solaris, Digital Unix/Tru64/OSF, MacOS X 등의 다양한 OS를 지원한다. 설치방법 (OpenSSH, SSH2)
|
OpenSSH 의 설치방법(소스설치) |
① 최신 버전 다운로드 ② zlib 설치 (마)
(바)
inetd 방식으로 데몬이 서비스 될 수 있도록 /etc/xinetd.d/ 디렉토리에 다음과 같은 파일을 작성한다.
(아) inetd 방식으로 앞으로 데몬이 실행될 수 있도록 xinetd를 실행시킴
(자) 1 . SSH2 설치 전에리눅스 배포판을 everithing으로 설치를 했다면 openSSH가 설치 되어 있어서 SSH2를 설치 하기 전에 먼저 rpm 파일로 설치된openSSH를 제거해 줘야 한다 ssh2설치시에 openSSH와 충돌이 일어 나지는 않는데 설치 후 사용할 때 충돌을 일으킬 수 있기 때문에 반드시 깔끔하게 제거해 줘야한다. 자신의 시스템에 openSSH가 설치 되어 있는지 확인하기위해서 아래처럼 해본다 2. ssh2 설치SSH2는 http://www.ssh.fi 에서 다운 받을 수 있다. 3. ssh2를 위한 xinetd 설정ssh2를 xinetd로 제어하고 inetd 모드로 작동시키기 위해서는 간단한 작업을 해줘야 된다./etc/xinetd.d 디렉토리에 ssh 라는 이름으로 아래와 같이 작성하자 . |
SSH 클라이언트의 기본적인 사용 방법 |
openSSH 클라이언트는 ssh1,ssh2 프로토콜을 모두 지원하므로, 서버가 지원하는 ssh 프로토콜에 상관없이 접속할수 있다. 예를 들어, 접속할 ssh서버가 ostsc.homelinux.net 이고 계정명이 chaeya 라면 (터) |
참고문헌 또는 URL |
http://www.ssh.com/ |
관련자료
-
이전
-
다음