sudo apt update
sudo apt upgrade
sudo apt install net-tools vim openssh-server

홈 서버를 구축하기 위해 net-tools로 고정 ip 확인 후 진행 (고정 ip 및 도메인 설정은 생략)

sudo vi /etc/ssh/sshd_config

Port 22 # 다른 포트로 변경 (private)

포트 변경 후 ssh 재시작

sudo systemctl daemon-reload
sudo systemctl restart ssh
sudo systemctl status ssh

비밀번호 없이 ssh 접속

# local
ssh-keygen -t ed25519
ssh-copy-id -p 22(optional) ...

# Test
ssh -p 22(optional) ... 성공!

Optional (비밀번호 접속 차단)

vi /etc/ssh/sshd_config

PasswordAuthentication no

sudo systemctl daemon-reload
sudo systemctl restart ssh

PLUS…

예전에는 id_rsa로 만들었던 기억이 있는데 ed25519가 더 낫다는 글을 발견.

rsa는 2048bit, 3072bit, 4096bit 등이 사용되는 반면 ed25519는 256비트의 키를 사용함 따라서 더 적은 연산량으로 속도가 빠르다고 한다.

그럼… 보안은?

rsa는 암호화에 모듈러 연산을 사용하는데 이것은 소수 분해 문제를 기반으로 해서 고 컴퓨팅으로 소인수 분해를 수행하는 것이 가능하다는 약점이 있어 안정성에 우려가 있는데 ed25519는 타원곡선 암호화(ECDSA)를 기반으로해서 더 높은 안정성을 보장한다고 알려져있다.

결론 → 같은 비트 대비엔 ed25519가 좋은 거 같은데 보안을 높이려면 rsa로 높은 비트의 키를 생성하는 게 우수한듯.. 근데 내 서버에 그렇게 높은 수준의 보안이 필요한가? 싶음… 따라서 속도가 더 빠르고 비트도 작은 ed25519 채용

Plus

no-ip 자동 할당 systemd에 서비스로 등록….

[Unit]
Description=No-IP Dynamic Update Client
After=network.target network-online.target
Wants=network-online.target

[Service]
Type=simple
# 실행할 명령어
ExecStart=/usr/bin/noip-duc -g all.ddnskey.com ...
Restart=always
RestartSec=30
User=root

[Install]
WantedBy=multi-user.target