OpenSSH 서버

개요

우분투 서버 안내서의 이 부분에서는 네트워크에 연결된 컴퓨터를 원격으로 제어하고, 컴퓨터들 간에 데이터를 전송할 수 있는 강력한 도구들의 집합인 OpenSSH에 대해서 소개합니다. 또한 OpenSSH 서버 프로그램을 위해 필요한 몇 가지 설정과 우분투에서 이들을 변경하는 방법에 대해서도 배울 것입니다.

OpenSSH는 원격으로 컴퓨터를 조종하거나 컴퓨터 간의 파일을 전송하기 위한 Secure Shell (SSH) 프토토콜 도구들의 자유롭게 사용할 수 있는 버전 입니다. 이러한 기능을 가지는 전통적인 도구들로는, telnet 이나 rcp 가 있지만, 보안이 적용되지 않고 사용될 때 사용자의 암호를 들여다 볼수 있는 텍스트로 전송 합니다. OpenSSH는, 이러한 전통적인 도구들을 효과적으로 대체하는, 서버 데몬과 보안, 암호화된 원격 조종과 파일 전송 동작 기능을 가지는 클라이언트 도구들을 제공 합니다.

OpenSSH 서버 구성 요소는, sshd 이고, 어떠한 클라이언트 도구이던 클라이언트 접속을 위하여 끊임없이 듣습니다. 접속 요청이 일어났을 때, sshd 는 연결하는 클라이언트 도구의 종류에 따라 올바른 접속을 만듭니다. 예를 들어, 원격 컴퓨터가 ssh 클라이언트 프로그램을 가지고 접속을 한다면, 그 OpenSSH 서버는 인증 후에 원격 조종 세션을 만듭니다. 만약 원격 사용자가 scp 를 가지고 OpenSSH 서버를 연결하면, 그 OpenSSH 서버 데몬은 인증 후에 서버와 클라이언트 간에 안전한 파일 복사를 시작 합니다. OpenSSH는 일반 암호, 공개 키, 그리고 Kerberos 티켓을 포함하는 여러가지 인증 방법을 사용할 수 있습니다.

설치

OpenSSH 클라이언트와 서버 프로그램의 설치는 간단합니다. 우분투 시스템에 OpenSSH 클라이언트 프로그램을 설치하려면, 다음의 명령을 터미널 프롬프트에서 사용합니다:

sudo apt-get install openssh-client

OpenSSH 서버 프로그램과 관련되는 지원 파일을 설치하려면, 다음의 명령을 터미널 프롬프트에서 사용합니다:

sudo apt-get install openssh-server

설정

여러분은 OpenSSH 서버 프로그램, sshd, 의 기본 동작을 /etc/ssh/sshd_config 파일을 편집하는 것으로 설정할 수 있습니다. 이 파일에서 사용되는 설정 지시자에 대한 정보는, 터미널 프롬프트에서 다음의 명령을 입력하여 해당 매뉴얼 페이지를 보십시오:

man sshd_config

sshd 설정 파일에는 통신 설정과 인증 모드 등을 조종하기 위한 많은 지시자들이 있습니다. 다음은 /etc/ssh/ssh_config 파일을 편집하는 것으로 변경할 수 있는 설정 지시자들의 예 입니다.

[작은 정보]

설정 파일을 편집하기 전에, 원래의 파일을 복사본을 만들고 쓰기에서 그것을 보호해야만 합니다. 그래서 원래의 설정을 참고로 그리고 필요한 경우 재사용할 수 있습니다.

/etc/ssh/sshd_config 파일을 복사하고 쓰기에서 그것을 보호하려면, 터미널 프롬프트에서 다음의 명령을 입력 합니다:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
sudo chmod a-w /etc/ssh/sshd_config.original

다음은 여러분이 변경할 수 있는 설정 지시자의 예 입니다:

  • 여러분의 OpenSSH가 기본 설정된 TCP 포트 22 대신에 TCP 포트 2222를 사용하게 하려면, 다음과 같이 Port 지시자를 변경 합니다:

    Port 2222

  • sshd 가 공개 키 기반의 로그인 신뢰서를 허용하게 하려면, /etc/ssh/sshd_config 파일에서 간단히 이 줄을 더하거나 변경 합니다:

    PubkeyAuthentication yes

    만약 이 내용이 이미 있다면, 그 줄의 주석을 해제 하십시오.

  • 여러분의 OpenSSH 서버에서 로그인하기 전에 보여줄 배너로 /etc/issue.net 파일의 내용을 표시하게 만드려면, 간단히 이 줄을 더하거나 변경 합니다:

    Banner /etc/issue.net

    /etc/ssh/sshd_config 파일 내에 있습니다.

/etc/ssh/sshd_config 파일에 변경을 만든 후에, 그 파일을 저장하고, 변경의 효과를 가지려면 다음 명령을 터미널 프롬프트에서 사용하여 sshd 서버 프로그램을 재시작 합니다:

sudo /etc/init.d/ssh restart

[주의]

sshd 를 위한 많은 다른 설정 지시자는 여러분의 필요에 맞게 그 서버 프로그램의 동작을 변경하는 것을 위하여 사용가능 합니다. 그러나, 만약 여러분이 서버를 접근할 수 있는 오직 한 가지 방법이 ssh 이고, /etc/ssh/sshd_config 파일을 통해 sshd 를 설정하는데 실수를 하였다면, 서버를 재시작할 때 잠겨지거나 sshd 서버가 부정확한 설정 지시자 때문에 시작하는 것이 거부될 수 있음을 조언 합니다. 그러므로 원격 서버 상의 이 파일을 편집할 때는 정말로 조심스럽게 하시기 바랍니다.

참조

OpenSSH 웹사이트

진보한 OpenSSH 위키 페이지