SSH 키 생성과 설정을 통해 SSH 자동 로그인을 구현
SSH 키 생성과 설정을 통해 SSH 자동 로그인을 구현할 수 있습니다. 이를 통해 암호를 입력하지 않고도 원격 서버에 SSH로 접속할 수 있습니다. 아래는 SSH 키 생성과 설정하는 단계를 안내합니다.
1. SSH 키 생성
먼저 로컬 컴퓨터에서 SSH 키 쌍을 생성합니다. 기본적으로 ssh-keygen 명령어를 사용하여 SSH 키를 생성합니다.
ssh-keygen -t rsa
위 명령어를 실행하면 SSH 클라이언트가 RSA 암호화 알고리즘을 사용하여 키 쌍을 생성합니다. 기본적으로 ~/.ssh/ 디렉터리에 id_rsa (개인 키)와 id_rsa.pub (공개 키) 파일이 생성됩니다.
2. 공개 키 전송
이제 생성한 공개 키를 원격 서버로 전송해야 합니다. 이를 통해 원격 서버가 해당 공개 키를 인식하고, 로그인 시 클라이언트의 개인 키와 매칭하여 자동 로그인이 가능해집니다.
ssh-copy-id username@remote_server_ip
위 명령어를 실행하여 공개 키를 원격 서버로 전송합니다. username은 원격 서버의 사용자 이름이고, remote_server_ip는 원격 서버의 IP 주소 또는 도메인 이름입니다.
비밀번호를 요구하는 경우 해당 사용자의 비밀번호를 입력하면 공개 키가 원격 서버에 복사됩니다.
3. 자동 로그인 테스트
이제 SSH 자동 로그인이 동작하는지 테스트해봅니다.
ssh username@remote_server_ip
위 명령어를 실행하면 자동으로 원격 서버에 로그인되어 비밀번호 입력 없이 접속됩니다. 이제 SSH 자동 로그인이 성공적으로 설정된 것입니다.
SSH 자동 로그인을 설정함으로써, 보안을 유지하면서 편리하게 원격 서버에 접속할 수 있습니다. 비밀번호를 사용하는 대신 SSH 키를 통해 안전하게 인증하므로, 보안상의 장점을 가지면서 더욱 효율적인 원격 관리가 가능합니다.
테스트 환경
클라이언트 | 통신 방향 | 서버 |
slave_client | --> | master_server |
192.168.0.126 | 192.168.0.124 |
- Client 설정 1
[ssh_scbyun@slave_client ~]$ id
uid=500(ssh_scbyun) gid=500(ssh_scbyun) groups=500(ssh_scbyun)
[ssh_scbyun@slave_client ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ssh_scbyun/.ssh/id_rsa): /home/ssh_scbyun/.ssh/vmc_rsa
Created directory '/home/ssh_scbyun/.ssh'.
Enter passphrase (empty for no passphrase): (Enter)Enter same passphrase again: (Enter)
Your identification has been saved in /home/ssh_scbyun/.ssh/vmc_rsa.
Your public key has been saved in /home/ssh_scbyun/.ssh/vmc_rsa.pub.
The key fingerprint is:
df:3b:3e:2b:f8:78:63:ea:5c:04:7f:3d:74:ee:6f:12 ssh_scbyun@slave_client
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| . . .|
| o o o |
| S o . o .|
| o o Eo |
| .o . ..|
| ..o= o.. o|
| .==.+++ o.|
+-----------------+
[ssh_scbyun@slave_client ~]$ ls -alF .ssh
합계 16
drwx------ 2 ssh_scbyun ssh_scbyun 4096 2014-11-04 13:36 ./
drwx------ 3 ssh_scbyun ssh_scbyun 4096 2014-11-04 13:36 ../
-rw------- 1 ssh_scbyun ssh_scbyun 1675 2014-11-04 13:36 vmc_rsa
-rw-r--r-- 1 ssh_scbyun ssh_scbyun 405 2014-11-04 13:36 vmc_rsa.pub
- Server 설정 1
[ssh_scbyun@master_server ~]$ id
uid=500(ssh_scbyun) gid=500(ssh_scbyun) groups=500(ssh_scbyun)
[ssh_scbyun@master_server ~]$ pwd
/home/ssh_scbyun
[ssh_scbyun@master_server ~]$ mkdir .ssh
[ssh_scbyun@master_server ~]$ chmod 700 .ssh
- Client 설정 2
[ssh_scbyun@slave_client ~]$ cd .ssh
[ssh_scbyun@slave_client .ssh]$ pwd
/home/ssh_scbyun/.ssh
[ssh_scbyun@slave_client .ssh]$ scp vmc_rsa.pub ssh_scbyun@192.168.0.124:~/.ssh/authorized_keys
The authenticity of host '192.168.0.124 (192.168.0.124)' can't be established.
RSA key fingerprint is 73:cf:fb:ba:71:b6:7d:f4:f4:32:e0:58:3a:91:96:8a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.124' (RSA) to the list of known hosts.
ssh_scbyun@192.168.0.124's password: (ssh_scbyun 패스워드 입력)
vmc_rsa.pub 100% 405 0.4KB/s 00:00
- Server 설정 2
[ssh_scbyun@master_server ~]$ cd .ssh
[ssh_scbyun@master_server .ssh]$ pwd
/home/ssh_scbyun/.ssh
[ssh_scbyun@master_server .ssh]$ chmod 600 authorized_keys
- Client 설정 3
[ssh_scbyun@slave_client ~]$ ssh ssh_scbyun@192.168.0.124 (패스워드 없이 Server에 접속)
Last login: Tue Nov 4 13:58:51 2014 from 192.168.0.126
[ssh_scbyun@master_server ~]$ hostname
master_server
- 로컬에서 원격 서버 명령어(ls -al) 실행
[ssh_scbyun@slave_client ~]$ ssh ssh_scbyun@192.168.0.124 ls -al
합계 32
drwx------ 3 ssh_scbyun ssh_scbyun 4096 2014-11-04 13:56 .
drwxr-xr-x. 3 root root 4096 2014-11-04 13:27 ..
-rw------- 1 ssh_scbyun ssh_scbyun 530 2014-11-04 14:30 .bash_history
-rw-r--r-- 1 ssh_scbyun ssh_scbyun 18 2013-07-18 22:19 .bash_logout
-rw-r--r-- 1 ssh_scbyun ssh_scbyun 176 2013-07-18 22:19 .bash_profile
-rw-r--r-- 1 ssh_scbyun ssh_scbyun 124 2013-07-18 22:19 .bashrc
drwx------ 2 ssh_scbyun ssh_scbyun 4096 2014-11-04 13:57 .ssh
-rw------- 1 ssh_scbyun ssh_scbyun 2514 2014-11-04 13:49 .viminfo
'리눅스' 카테고리의 다른 글
리눅스에서 새로운 글꼴을 추가하는 방법 (0) | 2014.11.10 |
---|---|
CentOS 7에서 SNMPv3을 설정하는 방법 (2) | 2014.11.05 |
GlusterFS를 구축하는 방법 (0) | 2014.11.03 |
FTP(vsftp) 전송 모드(Active Mode/Passive Mode) (0) | 2014.10.31 |
[리눅스] Citrix XenServer에서 로컬 디스크를 추가하는 방법 (0) | 2014.10.29 |