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
반응형
'Linux Distribution' 카테고리의 다른 글
우분투 24.04에서 스왑 메모리를 비활성화하는 방법 (0) | 2025.03.17 |
---|---|
우분투 24.04에 Java 21을 설치하는 방법 (0) | 2025.03.15 |
Bash 자동 완성을 설정하는 방법 (0) | 2025.03.12 |
curl을 사용하여 웹사이트 로딩 속도를 테스트하는 방법 (0) | 2025.03.12 |
우분투에서 multipathd를 비활성화하는 방법 (0) | 2025.03.10 |