Cách tạo ssh-keygen trên môi trường linux Chuyên mục Devops 2023-05-10 204 Lượt xem 87 Lượt thích 0 Bình luận
Hello xin chào mọi người hôm này mình sẽ hướng dẫn các bạn làm sao để tạo 1 ssh-keygen trên môi trường linux nhé , trước tiên vào bài thì các bạn nên hiểu ssh-key là gì trước nhé !
1.ssh-keygen là gì?
Ssh-keygen là công cụ tạo cặp khóa xác thực mới cho SSH. Các cặp khóa như vậy được sử dụng để tự động đăng nhập, đăng nhập một lần và để xác thực máy chủ.
2.Khóa SSH và Public Key Authentication
Giao thức SSH sử dụng mật mã khóa công khai để xác thực máy chủ và người dùng. Các khóa xác thực, được gọi là khóa SSH, được tạo bằng chương trình keygen.
SSH đã giới thiệu xác thực khóa công khai như một giải pháp thay thế an toàn hơn cho xác thực .rhosts cũ hơn. Nó cải thiện tính bảo mật bằng cách tránh yêu cầu lưu trữ mật khẩu trong tệp và loại bỏ khả năng máy chủ bị xâm nhập đánh cắp mật khẩu của người dùng.
Tuy nhiên, khóa SSH là thông tin đăng nhập xác thực giống như mật khẩu. Vì vậy, chúng phải được quản lý tương tự như tên người dùng và mật khẩu.
3.Tạo cặp khóa SSH để xác thực người dùng
Để thực hiện được ví dụ này thì các bạn tạo ra 2 servers nha , server B sẽ ssh sang server A thông qua ssh-key nha
Server A:
Chuyển qua tài khoản root để tạo mới 1 user
sudo su -
Sau đó dùng lệnh sau để tạo mới 1 user, mình lấy ví dụ user của mình là www-user
useradd www-user
Sau khi tạo xong thì các bạn switch sang user vừa tạo nha
su - www-user
Sau đó thì dùng lệnh sau để genarate ra ssh-key cho user này
ssh-keygen -t rsa
Sau khi chạy lệnh này thì 1 list cmd sẽ hiện ra các bạn chỉ việc ấn enter , không nhập gì cả nhé
Enter file in which to save the key (/home/www-user/.ssh/id_rsa):
Created directory '/home/www-user/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/www-user/.ssh/id_rsa.
Your public key has been saved in /home/www-user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:4Lxy0lnLPsC1g5fCj+unPrn1b7KY3XVEEYLCECGmUr4 www-user@ip-172-31-27-42.ap-southeast-1.compute.internal
The key's randomart image is:
+---[RSA 2048]----+
| . o += .. o.|
| o o . o . . .|
| . o . . .|
| . .o .. . |
| E oooSo .|
| .*==. . |
| o =B+. . .|
| ++o+=.... . |
| o**+.+=o |
+----[SHA256]-----+
Sau khi hoàn thành bước này thì các bạn thấy public key của chúng ta đã được lưu ở thư mục /home/www-user/.ssh/
cd /home/www-user/.ssh/
Sau khi vào thư mục trên bạn sẽ thấy 2 file 1 là private key (id_rsa) và public key (id_rsa.pub)
Tiếp theo là các bạn đổi tên public key thành Authorized_keys bằng lệnh sau:
mv id_rsa.pub authozized_keys
Sau đó thì change permission cho file này .
chmod 700 /home/www-user/.ssh
chmod 600 authozized_keys
Vậy là xong cho server A rồi , tiếp theo mình sẽ sang server B nhé .
Server B
Ở server B này chúng ta sẽ phải lấy private key từ bên server A đẩy về server B và sau đó thì chúng ta remote thử , trước hết các bạn về thư mục gôc trước nhé ,
sudo su -
cd /home
Ở đây các bạn có thể tạo 1 thư mục mà các bạn muốn thực thi với mình thì mình sẽ đặt tên là server-a chẳng hạn
mkdir server-a
Sau khi xong bước này các bạn cần quay lại server A và login in vào www-user và sau đó thì cd vào thư mục home/www-user/.ssh/ copy text đã được mã hoá trong private key (id_rsa)
vi id_rsa
sau đó thì copy đoạn mã hoá sau
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAuHBaw8MXob+XPcD6Iqmg30GlgyO5VmSXwcIIbz1VR9No/HKD
4ZCKM4yRL5Pkqxd1ZbRZ/V0xAtpUkLmokhm1xdlZ4Qn+a/G7CNYALLDp5zectjkL
idNZpmnrrgIPTomUQqu80tPSNPvvYcEn26jE1epfGam36fOZ6zkR4pj/XflnT5qD
yExJ+0wv3+wnTvVulNq/38c1Z2f44DUIN4XetWBIzloBsTXwvo8NBdVyhLnfv+C1
Z4Jk3qWspo0JmGZM/uvO8HZK78fEtftg45eZNznflVwzd6zm3d4DsWpd1pT4ezx/
dfZQ3F9DBeExfYGJPDnncutgwZ9V1zNq3tS8uQIDAQABAoIBAG1z36lE4YVPmYVA
PDDN0XYsEvjb/mTSlWyapT6+exmA0FDf9HurtxgYVyCQ96bA6R5OBQligG9c+cpZ
IzxwnXqoHbp6n82XSpNXzAq5glWAnzNUbxB/qDglq4M8HbFR2/YkzI2gvqJK0CiG
5Axq/0SjLYShP09LDRCWcZKzkPhGw5k7ZQyqdXVM3dZ2yPNqeAJ3ULBHcJm63OSb
IMWmROkiOXrSvMp5q3I6b+F3DF4OMP0vizeGD0JQyhwNaOoLV8Q4kjLJJ66xI/O7
iX++I72kweqmhsc9+QzHshegD33j5XdaWPZkBHOKFxCgFSIgAx4FKZeF8RvO+Zpn
ca0XmTECgYEA3rVTzn9CyJf3oFtOCJyvMCRvJr0PmUkgx0SAdD7RmDhaJbeu1zSH
4HRG9CmYwHpfK3vdy8Eovu6Mzr4hyjQxXKr+vF16KDZhR74KnWQ1erYxJSVdHsOl
NoWbKtdjn2+Z9BUUWBb5GSKWocuD//01Lm93CASzATfd2bVb9QgiLnMCgYEA1AKF
RyY7phe5OSmKWbZVOqQ9qLmpkg2ChdbXRV+URLOweHe3kdJW3+XFLICrttM67lNv
1Z6MXdHD87P5Xe/h1N6FeiGxr7f/3Ynp4jPLTuYVL1f0bzY5PRwKgn73IuNxeh9V
Cw/qbRkhvMbjpUhyPAHrFIhDUnDfwRse6uUyUSMCgYEAnN/1jLuv+0SwtVAbg417
CdpgQVVjq4ILiNID+d5WHXd0aKUej5D9NWoyoMK8SrjoWOUDswb5AKVgojDj9F8X
dkMs9NqTtce4dqSzLXLtCOdVbukG0yjVM7ahOmhGUIR4WaqPjg2AoefvW0DUVnmy
AGeb3RYSUYVczIInqE52ZWkCgYB3lkBlZLyKsKELDFJ8zit/G3uoO6nZt4MjSY8+
E27H3e+x1B2YxGO6gZnZw26Yfsej/S58+aTFmvgD9EW55gClmSsDPBRFQO2zogJq
VLrec0wJ23wGaziYLsQC3ek7Jb4xm5DV35FlHqL4H9vytE2zaYWXnFEVJJQiEdE7
wDLErwKBgGCDB/ah6Pu0JnfuncZuwY+DNgB3v1Gidtr8L9xSLi/od4cJXmwjm1Qb
gIsyKYUNs88qelHIutmyJII76gzDaAmrgTxQXx3sfHyE261k5HlIFgr3iotslAQz
/jIgpJJDZodqQpC6rxOhfhyQvk4C8IKPmMaH2Ke7XH4h22tiI/qH
-----END RSA PRIVATE KEY-----
Sau khi copy xong bạn quay lại server B và vào thư mục server-a tạo 1 mới 1 file với đuôi là .pem,
vi /server-a/server-a.pem
ví dụ server-a.pem rồi paste đoạn mã đã copy vào nhé , sau đó chỉnh lại permission 1 chút nữa
chmod 400 server-a.pem
Ok vậy là đến bước cuối cùng rồi thử ssh vào server A nào các bạn chạy cmd dứoi đây nhé:
ssh -i server-a.pem www-user@your_public_id
nếu kết quả trả như sau đây là bạn đã hoàn thành rồi :
-bash-4.2$ ssh -i server-a.pem www-user@3.1.8.49
Last login: Sat May 13 16:17:53 2023
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
[www-user@ip-172-31-27-42 ~]$
Chúc các bạn thành công !
Bình luận (0)