[Linux] SSH 설치 및 연결 설정하기

이 포스트에서는 원격 연결 및 데이터 전송에 사용되는 OpenSSH를 알아보려고 합니다. OpenSSH 서버 설정법과 우분투에서 설정을 변경하는 방법에 대해서 알아보겠습니다.

OpenSSH는 보안, 암호화된 원격 제어, 파일 전송을 쉽게 할 수 있게 해주는 서버 데몬(백그라운드에서 항상 실행됨)과 클라이언트 도구를 제공합니다.

설치

OpenSSH 서버 설치:

sudo apt install openssh-server

OpenSSH 클라이언트 설치:

sudo apt install openssh-client

설정

OpenSSH 서버 프로그램 (sshd) 의 설정은 /etc/ssh/sshd_config 에서 편집할 수 있습니다.

sshd 설정 파일에는 통신 설정, 인증 모드 등 많은 설정들이 있습니다. 아래 예는 /etc/ssh/sshd_config 파일을 편집해서 변경할 수 있는 설정들입니다.

설정 파일은 편집하기 전에, 원래의 설정 파일을 백업해두시길 바랍니다! 아래와 같이 원래 설정 파일을 백업 및 보호하세요.
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
sudo chmod a-w /etc/ssh/sshd_config.original

변경하실 수 있는 설정의 예제들입니다:

(1) TCP 22 포트 대신 다른 2222 포트를 사용하고자 할 경우:

Port 2222

(2) sshd가 공개키 기반의 로그인 인증서를 허용하도록 하려면, /etc/ssh/sshd_config 파일에 아래 라인을 추가합니다:

PubkeyAuthentication yes

(행이 이미 있을 경우, 주석처리 되지는 않았는지 확인하세요.)

(3) OpenSSH 서버에 접속할 때 배너로 /etc/issue.net 의 파일 내용을 화면에 표시되게 하려면, 다음 라인을 추가합니다:

Banner /etc/issue.net

/etc/ssh/sshd_config 파일 내용을 변경한 후에는 sshd 서버를 재시작합니다:

sudo systemctl restart sshd.service

SSH Keys

SSH 키는 두 호스트 사이에서 비밀번호 없이 인증할 수 있게 해줍니다. SSH 키 인증은 두 키를 사용합니다. 하나는 private 키이고 다른 하나는 public 키입니다.

키를 생성하려면 터미널에 다음을 입력합니다:

ssh-keygen -t rsa

위 명령은 RSA 알고리즘을 사용하여 키를 생성합니다. 위 명령을 실행하면 비밀번호를 물어보는데 그냥 엔터를 치면 됩니다.

디폴트로, public 키는 ~/.ssh/id_rsa.pub 파일 안에 저장됩니다. 그리고 private 키는 ~/.ssh/id_rsa 파일 안에 저장됩니다.

이제 원격 호스트로 id_rsa.pub 파일을 복사해야 합니다. 그리고 이 키를 원격 호스트의 ~/.ssh/authorized_keys 에 추가합니다:

ssh-copy-id username@remotehost

예)

ssh-copy-id guru1@192.168.0.3

마지막으로, authorized_keys 파일에 퍼미션을 체크합니다. 인증된 유저만 읽기와 쓰기를 가져야 합니다. 퍼미션은 다음과 같이 설정할 수 있습니다:

chmod 600 .ssh/authorized_keys

이제 비밀번호 없이 SSH를 사용할 수 있습니다.

레퍼런스: https://help.ubuntu.com/lts/serverguide/openssh-server.html.en

댓글

Designed by JB FACTORY