[Linux] 패스워드 없이 ssh 접속하기

 

SSH 란?

암호화된 데이터를 서버와 클라이언트가 안전하게 주고받기 위해 사용하는 전송계층 프로토콜이다.

 

 

SSH 키 페어 생성 (클라이언트에서)

# ssh-keygen -t rsa  # rsa 알고리즘으로 ssh key pair 생성
[root@linux-1 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:99Eh4TP5h1uPknTYVADoKxZCZ9PS1SNAsTW2jnkFKZY root@linux-1
The key's randomart image is:
+---[RSA 2048]----+
|         ++*O+...|
|      . = E=o*o. |
|     . o =..B.+. |
|      . . .+ @ o |
|       .S.+.* * o|
|        o..+ + =.|
|       . .  + o .|
|             .   |
|                 |
+----[SHA256]-----+

 

 

생성 위치 및 파일 확인

홈디렉토리 밑에. ssh 디렉토리에 개인키와 공개키가 하나씩 생성이 된 것을 보실 수 있습니다.

다음은 패스워드 없이 접속을 위해 클라이언트의 공개키를 서버에 등록해 보겠습니다.

[root@linux-1 .ssh]# pwd
/root/.ssh
[root@linux-1 .ssh]# ll
합계 8
-rw------- 1 root root 1675  7월  8 19:52 id_rsa      # 개인키
-rw-r--r-- 1 root root  394  7월  8 19:52 id_rsa.pub  # 공개키

 

 

서버에 공개키 등록

서버의 /root 밑에 .ssh 디렉토리를 생성하고, 해당 디렉토리안에  authorized_keys 파일을 생성한 뒤 

공개키의 내용을 복사해서 입력해줍니다.

[root@linux-2 ~]# pwd
/root
[root@linux-2 ~]# ls -al | grep ssh
drwx------   2 root root    6  7월  8 20:01 .ssh

 

[root@linux-2 .ssh]# pwd
/root/.ssh
[root@linux-2 .ssh]# cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQAqkUbe6OKwlT3coXHX1jypS6sFtWmICVJJLWKNvZELGUjp7Sgt/MaGY9n/zqstlqlt83c0MIMDGVTsvMA5jjX7Xh5Tbv6QMtMo6u8Zw+n/qkZoWlT9aGxMQVV14xMfPKAm7cR6++8IT5qIswQy/HExNoVF5PINm4iG/1RfqK+NSwCWRHY5nppoKCnm5OVEKEypGpEa+sMVZw2tFZ35gEKCJ1roz2iKW43tzXswmUpm8XWCyuA5NM1zuuceZfclp2X4jVIU8Hp2XswPvwVi74p6Ll/60IYFSmtxk40KS80ltgNUqf/+sMtORXUaE/+iB1qF32Mek+85fqrl+nygNr root@linux-1

 

 

접속 확인

# ssh root@linux-2
[root@linux-1 .ssh]# ssh root@linux-2
Last login: Wed Jul  8 20:07:33 2020 from linux-1
[root@linux-2 ~]#

 

 

간편하게 서버에 공개키를 등록하는 방법

ssh-copy-id로 간한게 등록할 수도 있습니다, 그래도 어디에 파일이 등록되는지는 꼭 알고 실행하세요~

[root@linux-1 .ssh]# ssh-copy-id root@linux-2

'IT' 카테고리의 다른 글

[Linux] 계정 생성(Feat.skel)  (0) 2020.07.12
[OS] Process State(프로세스 상태 종류)  (0) 2020.07.12
[Linux] sort uniq로 중복 라인 제거하기  (0) 2020.07.07
[Linux] dig 예제 정리  (0) 2020.07.06
[Linux] 리눅스 CD 명령어 예제  (0) 2020.07.05

댓글

Designed by JB FACTORY

loading