CentOS 6/7에서 RSA ssh 공개키로 접속하는 방법.

 

[ Server 장비 ]

1. sshd 설정 변경

vi /etc/ssh/sshd_config

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile   .ssh/authorized_keys

- AuthorizedKeysFile의 경우 %u는 해당 계졍의 username이며, %h는 해당 계정의 home path를 뜻한다.

# /etc/ssh/<username>/authorized_keys 에서 관리하고 싶은 경우
AuthorizedKeysFile   /etc/ssh/%u/authorized_keys

# ~/.ssh/authorized_keys 에서 관리하고 싶은 경우
AuthorizedKeysFile   %h/.ssh/authorized_keys

2. sshd 재시작

# CentOS 6
service sshd restart

# CentOS 7
systemctl restart sshd

3. 접속하려는 계정의 .ssh 폴더 및 .ssh/authorized_keys 권한 설정

chmod go-w ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

 

[ Client 장비 ]

1. RSA 공개키 생성

hjshuMBP:.ssh hjshu$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/hjshu/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/hjshu/.ssh/id_rsa.
Your public key has been saved in /Users/hjshu/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:qWkd3w98lVXLZDpfU3uQYb/ZQ924mkuBHYSwj8E3WRs hjshu@hjshuMBP.local
The key's randomart image is:
+---[RSA 2048]----+
|        .. .E +=o|
|       . ..+ +*+B|
|        + + oo.*B|
|         * + .+.X|
|        S o o .*o|
|       + o o + ..|
|      + . . B .  |
|     .     . =   |
|            . .  |
+----[SHA256]-----+

 

2. 공개키 확인

# cat .ssh/id_rsa.pub

3. 해당 공개키를 접속하고 싶은 서버 계정의  ~/.ssh/authorized_keys에 추가해준다.

[jenkins@skt-ocs2th ~]$ cat .ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCg3PdtVO5qB5l2Q1PEm8cU2f/zdrXN0eKIAqc7QAvp7xFEwIczxPhnkwYbRh+4Yp9Y+aarBaA/mvNoZSMuxKZqEaVXzlZX5rOJuDK+GepyFvDU1D9k+CmycJkeFbmr1cMuL0e19l7zccWmQFbkMmhj0mSJX+yApPixFGcpCL/h7pQi6lkJeiStIuLlkJnQGbntPA8JCLm4mZdrGBvQFbs61lhVmkJNqddDWbrnybwK2CRrfXCzud6lsvmh2vZnrimBDAayytGwDBI3+7+C9C6ueGId8DLi3Aqe37ikzgpa9wXDjGEipTnUjrIA6FjzdVAPG3t6D2QV3F3NS7aIk3Ob hjshu@hjshuMBP.local


이 작업 이후 부터 Client가 Server로 접속 시 passwd 입력 없이 접속이 가능해진다.

+ Recent posts