SSH란?


시큐어 셸(Secure Shell, SSH)은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그 프로토콜을 가리킨다. 기존의 rsh, rlogin, 텔넷 등을 대체하기 위해 설계되었으며, 강력한 인증 방법 및 안전하지 못한 네트워크에서 안전하게 통신을 할 수 있는 기능을 제공한다. 기본적으로는 22번 포트를 사용한다.


SSH는 암호화 기법을 사용하기 때문에, 통신이 노출된다 하더라도 이해할 수 없는 암호화된 문자로 보인다.


SSH는 버클리 서비스들(rsh, rcp, rlogin, rexec)및 telnet, ftp 서비스를 좀 더 보안이 강화된 명령으로 대체하기 위해 만들었다. 1995년 핀란드의 Tatu Ylönen이 개발해 공개했고, 많은 반향을 일으켰다. 1995년 말 Ylönen은 SSH Communications Security사를 설립하고, 상용화되었다. 소스 코드는 공개되었지만 여러가지 제약이 있었다고 하는데, 이에 SSH 1.2.12 릴리즈를 기반으로 OpenSSH 프로젝트가 결성되고 BSD 라이선스로 개발하기 시작했다. OpenSSH가 처음 선보인건 1999년 OpenBSD 2.6 릴리즈부터이다. 이후 계속 보완되어 오늘날에 이르게 되었다.



SSH 기동 확인


리눅스를 설치하면 기본적으로 SSH는 설치가 됩니다. SSH의 기동 상태를 확인하고 싶으면 다음 명령어를 입력해주세요.

service ssh status


openssh-daemon (pid  1929)를 실행하고 있습니다..

위와 같이 명령어를 입력하면 현재 ssh가 실행 상태인지 중지 상태인지를 확인할 수 있습니다.



부팅 시 SSH 데몬 자동 실행


ntsysv

위 명령어를 입력하면 다음과 같은 화면이 나옵니다.



커서를 아래로 내려 sshd 항목에 * 표시를 체크하고 OK버튼을 눌러줍니다. 여기에서 *로 체크되어 있는 데몬들은 OS 기동시에 자동으로 실행되는 데몬들의 항목입니다.



SSH 포트 확인


기본적으로 SSH는 22번 포트를 사용합니다. 현재 SSH가 사용하고 있는 포트를 확인하려면 다음 명령어를 입력해주세요.

cat /etc/ssh/sshd_config | egrep ^\#?Port


Port 22

위와 같이 명령어를 입력하면 현재 사용하는 포트 정보가 나옵니다.



SSH 포트 변경


SSH 포트를 변경하고 싶다면 다음 명령어를 입력해주세요.

vi /etc/ssh/sshd_config


#Port 22

Port 2302

sshd_config 파일을 열어 Port 항목을 찾아 22로 되어있는 부분을 #주석처리합니다.

새로 Port 2302를 입력하고 저장하고 종료합니다 (ESC -> :wq!)



SSH 재시작


설정 파일이 변경되었으면 다음 명령어를 입력하여 SSH를 재시작합니다.

service sshd restart



SSH 포트가 변경되었는지 확인


포트가 바뀌었는지 확인하고 싶으면 다음 명령어를 입력해주세요.

netstat -anp | grep LISTEN | grep 2302


tcp      0      0 :::2302        :::*                     LISTEN      1993/sshd