Home Server 만들기 02. SSH를 통한 서버접속

microSD카드에 Armbian 이미지가 정상적으로 복사되었다면 microSD 카드를 Odroid XU4Q에 삽입하고 부팅을 시켜주도록하자.

SSH로 서버에 접속

SSH는 원격 시스템에 접속해서 사용자가 명령을 실행할 수 있게 하는 암호화된 프로토콜이다. 윈도우에서는 PuTTY를 사용하고 Linux나 Mac 에서는 내장된 터미널을 이용하여 접속하면 된다. SSH는 22번을 기본 포트로 사용한다. 가정에서 iptime 등의 인터넷 공유기를 사용하여 외부에서 접속하고자 한다면 공유기의 포트포워딩 기능을 사용해서 TCP 22번 포트가 Odroid 서버로 향하도로 설정해주어야한다. 하지만 22번포트는 해커의 잦은 공격대상이 되는 포트이므로 외부포트는 다른 포트로 설정하여 내부 포트 22번에 연결해 주는 것이 좋다. 예시를 위해 여기서는 49163포트가 서버에 연결된다고 가정한다.

ssh root@EXTERNAL_IP_ADDRESS -p 49163

공유기 내부에서 연결할 시에는 포트를 지정해주지 않아도 자동으로 22번 포트를 사용하게 된다.

ssh root@INTERNAL_SERVER_IP_ADDRESS

SSH를 통해 root 사용자로 로그인을 시도하면, 패스워드 입력 화면이 나오는데, 기본 패스워드인 “1234”를 입력하고, root 유저의 새패스워드 설정, 새로운 사용자 등록, 언어설정등을 완료하자.

SSH Key를 이용한 보안 강화

SSH를 외부에서 접속하고자 한다면 비밀번호 인증보다는 ssh key를 통한 인증이 훨씬 안전하다.

ssh key를 이용하는 하려면 먼저 접속을 시도하는 컴퓨터에서 ssh key를 생성해야 한다.

sudo ssh-keygen -b 4096

명령어를 입력하면 ssh-key를 사용할때 필요한 패스워드 입력창이 뜨는데 공인인증서의 암호를 설정하는 것과 같다고 이해하면 된다. 접속은 4096bit 암호화된 rsa키를 사용할테지만 그 인증키를 사용할때 필요한 패스워드이므로 원하는 패스워드를 입력하자.

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:5CYtpc53pNQCugLKVHVaqznyAB+ekU9vjjRq0wZihL3g root@rpi4b
The key's randomart image is:
+---[RSA 4096]----+
|     +           |
|    = .          |
|   o o... o        |
|  . +.=B .       |
|.o =.o++S o      |
|+.+ o+.*o+       |
|.o.E..++= .      |
|  ..ooo+.+o      |
|    .o+ooo..     |
+----[SHA256]-----+

이제 ssh-key가 완성 되었다. 다음 할일은 이 rsa 키의 공개키를 Odroid 서버에 넣어주는 일인데 usb를 사용하여 직접복사할 수도 있겠으나 다음 명령어를 사용하면 원격으로 키를 서버에 입력할 수 있다.

sudo ssh-copy-id ID@INTERNAL_IP_ADDRESS

입력을 완료했다면 rsa 키복사가 완료 되었다면 터미널 종료후 새로운 터미널로 접속을 시도해서 인증키방식으로 로그인이 가능한지 확인하자.

ssh root@EXTERNAL_IP_ADDRESS -p 49163
또는 
ssh root@INTERNAL_SERVER_IP_ADDRESS

로그인이 성공했다면 기본 편집기인 nano를 이용하여 /etc/ssh/sshd_config 파일을 열어주자.

sudo nano /etc/ssh/sshd_config
PubkeyAuthentication yes
PasswordAuthentication no

위 설정값을 찾아 적용하고 파일의 맨 아랫줄에 다음 설정을 추가하자.

# Allow Users
AllowUsers USER_ID

위 설정에 등록된 유저만 SSH접속이 가능케하는 설정이다. 여러 사용자를 추가하려면 USER_ID뒤에 한칸을 띄우고 추가해주면 된다. 설정이 완료되었으면 Ctrl + x 로 저장하고 빠져나온 다음 명령어로 sshd 데몬을 reload하자.

sudo systemctl reload ssh

Leave a Reply

error: Content is protected !!