인증 과정
서버 인증
- 최초 클라이언트에서 서버로 ssh 접속 시, 접속 진행 여부(yes/no)를 물어본다.
- yes, 선택 시 서버의 /etc/ssh의 공개키 값을 클라이언트의 ~/.ssh/known_host에 추가한다.
사용자 인증
- ssh-keygen으로 비대칭키를 생성한다.
- 비밀키: ~/.ssh/id_rsa
- 공개키: ~/.ssh/id_ras.pub
- 서버의 ~/.ssh/authorized_keys 파일에 클라이언트의 공개키 값을 추가한다.
- 클라이언트는 서버의 공개키를 이용하여 암호화하여 메시지를 보낸다.
- 서버는 전달 받은 메시지를 자신의 비밀키를 이용해 복호화한다.
- 서버는 authorized_keys에 등록된 클라이언트의 공개키를 이용해 메시지를 암호화하여 보낸다.
- 클라이언트는 전달 받은 메시지를 자신의 비밀키를 이용해 복호화한다.
공개키와 비밀키 통신 과정
서버 인증
사용자 인증
ssh 공개키 인증 과정
Mandatory Permission
https://superuser.com/questions/215504/permissions-on-private-key-in-ssh-folder
http://linuxcommand.org/lc3_man_pages/ssh1.html
패스워드 없이 로그인하기
# 암호화 알고리즘 선택 옵션
# -t [ dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa ]
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:/2mklwPx72YjTf6zD34Vcm/CkoFyWOHwg2oj8gYqjRs root@control
The key's randomart image is:
+---[RSA 3072]----+
| . .. |
| =. |
| .o+. |
| .o +... o |
| o . + So o +o o|
| + + o . .. = + +|
|E . o .+ B.o.|
|.o . ..*oBo.|
|. oo*o=*|
+----[SHA256]-----+
~/.ssh 위치에 id_rsa, id_rsa.pub 파일이 생성된다.
사용자의 공개키를 노드에 ~/.ssh/authorized_keys 붙여 넣는 방법
ssh-copy-id node1
ssh-copu-id node2
ssh 접속 테스트
ssh root@node1
ssh root@node2
sshpass 이용한 원격 명령어 실행 방법
for i in node{1..2} ; do sshpass ssh root@$i yum install -y vim ; done
'시리즈 > Linux 기초 다지기 2023 (개편 예정) - 시리즈' 카테고리의 다른 글
리눅스 기초 다지기 - 11. 배너 만들기 figlet (0) | 2025.03.04 |
---|---|
리눅스 기초 다지기 - 10. history 시간 설정 (0) | 2025.03.04 |
리눅스 기초 다지기 - 08. 계정/그룹 생성 및 설정 (0) | 2025.03.01 |
리눅스 기초 다지기 - 07. SELINUX (0) | 2025.03.01 |
리눅스 기초 다지기 - 06. hosts 설정 (0) | 2025.03.01 |