Cài đặt SSH Ubuntu 22.04: SSH bằng public và private key

bởi | LPI, Ubuntu

Home » LPI » Ubuntu » Cài đặt SSH Ubuntu 22.04: SSH bằng public và private key

Cài đặt SSH bằng cặp key public và private

– Cấu hình SSH trên server để SSH bằng cặp key public và private.

Tạo cặp key theo từng user

– Tạo cặp key cho người dùng [ubuntu]

ubuntu@localhost:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ubuntu/.ssh/id_rsa): # Nhập vị trí lưu key nếu bạn muốn thay đổi
Enter passphrase (empty for no passphrase):   # Nhập passphrase (nếu không cần passphrase nhấn Enter)
Enter same passphrase again:
Your identification has been saved in /home/ubuntu/.ssh/id_rsa
Your public key has been saved in /home/ubuntu/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:asY9GqXZjfJZW4hpAYtPZGulac8gXCTt8cd8/oWzIoo ubuntu@localhost
......

– Kiểm tra

ubuntu@localhost:~$ ll ~/.ssh
total 16
drwx------ 2 ubuntu ubuntu 4096 May  8 04:34 ./
drwxr-x--- 5 ubuntu ubuntu 4096 May  8 01:24 ../
-rw------- 1 ubuntu ubuntu    0 Apr 27 13:11 authorized_keys
-rw------- 1 ubuntu ubuntu 2602 May  8 04:34 id_rsa
-rw-r--r-- 1 ubuntu ubuntu  570 May  8 04:34 id_rsa.pub

– Lưu public key ở file [id_rsa.pub] ra file [authorized_keys]

ubuntu@dlp:~$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Set [PasswordAuthentication no]

– Để bảo mật hơn có thể cài đặt không cho SSH bằng mật khẩu

ubuntu@localhost:~$ vi /etc/ssh/sshd_config
# line 58 : change to [no]
PasswordAuthentication no
root@dlp:~# systemctl restart ssh
ubuntu@localhost:~$ systemctl restart ssh

SSH vào server bằng cặp key từ máy khách Ubuntu

– Chuyển private key đã được tạo trên máy chủ về máy khách. Sau đó SSH vào máy chủ bằng cặp key.
+ Tạo folder chứa private nếu chưa có

ubuntu@client:~$ mkdir ~/.ssh
ubuntu@client:~$ chmod 700 ~/.ssh
+ Chuyển private key về thư mục /.ssh của máy khách
ubuntu@client:~$  scp ubuntu@192.168.64.201:/home/ubuntu/.ssh/id_rsa ~/.ssh/
ubuntu@192.168.64.201's password:
id_rsa                                        100% 2602     1.5MB/s   00:00

+ SSH vào server bằng cặp key từ máy khách ubuntu

ubuntu@client:~$ ssh ubuntu@192.168.64.201
Welcome to Ubuntu 22.04.4 LTS (GNU/Linux 5.15.0-105-generic x86_64)
....
ubuntu@localhost:~$

SSH vào server bằng cặp key từ máy khách Windows

Cách 1

– Đây là ví dụ SSH vào máy chủ từ máy khách Windows
– Trong ví dụ này thực hiện với phần mềm Putty
– Trước đó, hãy chuyển private key về máy khách Windows: Cài đặt SSH Ubuntu 22.04: Truyền file qua SSH
ssh to server from windows client save private key
– [1] Mở phần mềm [Puttygen.exe]. Click [Load] button on the following window.
ssh to server from windows client use puttygen
– [2] Chọn đến file private [id_rsa] mà đã down từ server về máy khách windows

– [3] Chọn [Save private key] để chọn nơi lưu và tên private key như mong muốn.


– [4] Mở phần mềm [Putty]. Chọn [Connection] – [SSH] – [Auth] Chỉ định tới [Private key file] đã tạo bằng [Puttygen.exe]
ssh to server from windows client use putty
– [5] Quay trở lại bằng cách chọn [Session] nhập IP hoặc domain server cần SSH.

– [6] Sau khi SSH, nhập tên user, nhập passphrase nếu đặt passphrase

Cách 2

– OpenSSH Client đã được triển khai như một tính năng của Windows, do đó có thể xác thực bằng Cặp khóa SSH mà không cần Putty và các phần mềm bên thứ 3 khác. Chuyển private key sang Windows client và đặt nó trong thư mục [(logon user home).ssh] như sau

– Sau đó SSH bằng cmd

Tham khảo thêm

SSH LINUX Bằng Public và Private Key