SE업무/OS

비밀번호 없이 ssh 원격 접속하기

에륜 2021. 6. 1. 01:13
반응형

서버간 ssh 원격 접속시 비밀번호 없이 바로 접근하기위해 셋팅을 해보겠습니다

서버간 SSH 접근시 계정에 따른 비밀번호를 입력해야한다.

하지만 관리상 서버간 통신시 비밀번호는 계속 입력하면 시간낭비도 있고 관리상 힘든점이 많다

(예를들면 앤서블을 쓸때도..)

 

서버 셋팅은 아래와 같이

1번서버는 192.168.56.11

2번서버는 192.168.56.12로 하였다.

(다음시간에 버츄얼박스에서 서버간 통신을 위해 셋팅하는 법을 간단히 포스팅하겠다)

서버간 정한 계정명은 infra이다.

먼저 아무 셋팅없이 1번 서버에서 2번서버로 ssh 접근해보겠다.

비밀번호를 입력하면 SSH 접근 성공한다.

 

이제 비밀번호없이 접근가능하도록 셋팅해보겠다.

1번서버에서 키젠을 생성하도록하자

[infra@infra-01 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/infra/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/infra/.ssh/id_rsa.
Your public key has been saved in /home/infra/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:o7+bv36vgXeoJKF7dg0KX/AIMy8qAapMMBcxuieFX6E infra@infra-01
The key's randomart image is:
+---[RSA 2048]----+
|  o..            |
| o.o .           |
|o E..            |
|++..  + .        |
|=+o    =S+       |
|.+.   oooo+. .   |
|+  . .o+.ooo+ .  |
|... .  o=+.ooo   |
|   .  .o=*=o.o.  |
+----[SHA256]-----+
[infra@infra-01 ~]$

 

ssh-keygen 명령어를 이용해서 키젠을 만들면 /home/계정명/.ssh/에 id_rsa와 id_rsa.pub 파일이 생긴다

이제 id_rsa.pub에 있는 키값을 접속해야할

2번서버의  /home/계정명/.ssh/authorized_keys에 입력해줘야한다

 

하지만 저장후 바로하면 똑같이 비밀번호를 입력하라고한다.

왜냐하면 권한이 올바르지 않기때문이다.

 

무조건 읽기 권한만 있어야해서 644로 줘야한다.

chmod 644 ./authorized_keys

로 수정하면 바로 접속이된다.

 

 

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub  
chmod 644 ~/.ssh/authorized_keys
chmod 644 ~/.ssh/known_hosts

그외 파일들을 권한 설정은 위와 같이 하면된다.

관리용 서버에서 다른 서버로 모두 등록하면파일 이동 및 단체 명령어 진행들이 편해진다.

반응형