본문 바로가기

Linux Distribution

SSH 키를 생성하고 원격 서버에 배포하여 접속하는 방법

728x90
반응형

SSH 키를 생성하고 원격 서버에 배포하여 접속하는 방법

1. SSH 키 생성

ssh-keygen -t ed25519 -C "vagrant"
  • -t ed25519 : 보안성이 높은 ed25519 알고리즘을 사용
  • -C "vagrant" : 키에 주석 추가 (선택 사항)
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/vagrant/.ssh/id_ed25519): 
Created directory '/home/vagrant/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/vagrant/.ssh/id_ed25519
Your public key has been saved in /home/vagrant/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:SGUs6u5yK5eCDX/ilyud/Hly2qVXZDjLikXuAJZrmBQ vagrant
The key's randomart image is:
+--[ED25519 256]--+
|       .o        |
|  E   .o.        |
|   . o..   .     |
|  . =. .. o o    |
| . = o.oS. =     |
|. o + . o o .    |
| = = + = ...     |
|. O % oo=o.      |
| ..%+++=o.       |
+----[SHA256]-----+

2. SSH 공개 키 배포

생성된 공개 키(id_ed25519.pub)를 원격 서버(예: user@remote-server)에 배포합니다.

ssh-copy-id -i ~/.ssh/id_ed25519.pub vagrant@192.168.10.101
  • -i ~/.ssh/id_rsa.pub: 배포할 공개 키 파일을 지정
  • user@remote-server : 원격 서버의 사용자와 IP 또는 도메인
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/vagrant/.ssh/id_ed25519.pub"
The authenticity of host '192.168.10.101 (192.168.10.101)' can't be established.
ED25519 key fingerprint is SHA256:l8n9KQWPqxIy4ByIT9AVKxocpCLlXNpsBOpr5EevBW8.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
vagrant@192.168.10.101's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'vagrant@192.168.10.101'"
and check to make sure that only the key(s) you wanted were added.

ssh-copy-id 명령이 없다면?

더보기

---

cat ~/.ssh/id_ed25519.pub 명령어로 키 내용을 확인한 후 수동으로 추가

  • 원격 서버의 ~/.ssh/authorized_keys 파일에 공개 키를 추가
cat ~/.ssh/id_ed25519.pub | ssh vagrant@192.168.10.101 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

---

3. 원격 서버에 SSH 접속 테스트

SSH 접속을 시도합니다.

ssh 'vagrant@192.168.10.101'

기본 경로가 아닌 다른 위치에 키를 저장했다면 -i 옵션으로 경로를 지정합니다.

ssh -i ~/.ssh/id_ed25519 vagrant@192.168.10.101

4. SSH 설정 파일 편집(선택 사항)

SSH 접속을 더 간편하게 하기 위해 ~/.ssh/config 파일을 설정할 수 있습니다.

vim ~/.ssh/config
Host node1
    HostName 192.168.10.10
    User vagrant
    IdentityFile ~/.ssh/id_ed25519

5. 원격 서버의 SSH 설정 변경(선택 사항)

추가적인 보안 강화를 위해 원격 서버의 /etc/ssh/sshd_config 설정을 변경할 수 있습니다.

sudo vim /etc/ssh/sshd_config
PubkeyAuthentication yes
PasswordAuthentication no  # 패스워드 로그인 비활성화 (키 인증만 허용)
PermitRootLogin no  # root 로그인 금지

SSH 서비스를 재시작합니다.

sudo systemctl restart ssh

 

SSH 키를 사용하여 보안성이 강화된 원격 접속이 가능합니다.

 

728x90
반응형