Kết nối SSH không cần mật khẩu từ Windows sang Linux
Từ khi khởi động lại blog vào năm ngoái, tôi đã sử dụng ASP.NET Core để viết lại blog và triển khai nó lên hệ điều hành Linux. Vì vậy, thời gian làm việc với Linux của tôi ngày càng tăng lên. Mặc dù trong cuộc sống hàng ngày tôi vẫn chủ yếu dùng Windows, nhưng mỗi khi có chút rảnh rỗi, tôi sẽ chia sẻ lại những kinh nghiệm nhỏ về việc sử dụng VPS Linux thường xuyên gặp phải dưới góc nhìn của một người mới bắt đầu, vừa để lưu trữ lại kiến thức cho bản thân, vừa hy vọng sẽ hữu ích với bạn.
Hôm nay, mình xin bắt đầu bằng cách ghi lại hướng dẫn cách kết nối SSH không cần nhập mật khẩu từ máy tính chạy Windows sang hệ thống Linux, giúp tiết kiệm thời gian khi không còn phải nhập mật khẩu mỗi lần truy cập.
- CMD hoặc PowerShell (được tích hợp sẵn trong Windows; bạn có thể mở bằng cách nhấn tổ hợp phím Win + R, sau đó gõ
cmd
hoặc powershell
, rồi nhấn Enter)
Các bước thực hiện
Trên Windows: Tạo khóa SSH
- Mở CMD hoặc PowerShell và gõ lệnh sau:
- Khi hệ thống hỏi chọn đường dẫn lưu trữ, bạn chỉ cần nhấn Enter để chấp nhận đường dẫn mặc định.
- Tiếp theo, nếu có yêu cầu nhập mật khẩu, bạn cũng nhấn Enter để bỏ qua (không đặt pass).
- Sau khi hoàn tất, hệ thống sẽ thông báo rằng đã tạo thành công hai tệp: khóa riêng (
id_rsa
) và khóa công khai (id_rsa.pub
), cùng với các dữ liệu liên quan đến vân tay SSH.
!Hình ảnh minh họa
Trên Windows: Gửi khóa công khai lên Linux
- Sử dụng CMD để gửi tệp khóa công khai (
id_rsa.pub
) mà bạn vừa tạo lên máy Linux. Bạn có thể sử dụng lệnh scp
. Lưu ý là ở bước này bạn vẫn cần nhập mật khẩu Linux một lần duy nhất.
1
|
scp C:\Users\yang\.ssh\id_rsa.pub myaccount@11.22.33.44:~/.ssh
|
Trên Linux: Thiết lập cấu hình SSH
- Dùng CMD trên Windows để đăng nhập vào hệ thống Linux qua SSH (bạn vẫn phải nhập mật khẩu tại bước này):
1
|
ssh myaccount@11.22.33.44
|
- Sao chép nội dung khóa công khai vào tệp
authorized_keys
:
1
|
cat .ssh/id_rsa.pub >> .ssh/authorized_keys
|
- Thay đổi quyền truy cập cho các tệp liên quan để đảm bảo an toàn:
1
2
|
chmod 600 .ssh/authorized_keys
chmod 700 .ssh
|
- Sửa tệp cấu hình SSH:
1
|
sudo vim /etc/ssh/sshd_config
|
Trong tệp cấu hình, hãy kiểm tra và đảm bảo ba dòng sau tồn tại và chưa bị chú thích (không có dấu # ở đầu):
1
2
3
|
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
|
Nếu chưa có, bạn có thể thêm chúng vào.
- Khởi động lại dịch vụ SSH để áp dụng thay đổi:
1
|
sudo service sshd restart
|
Kiểm tra kết nối SSH không cần mật khẩu
- Trở lại CMD trên Windows và thử kết nối lại với máy Linux:
1
|
ssh myaccount@11.22.33.44
|
- Nếu mọi thứ được thực hiện đúng, bạn sẽ thấy mình đã đăng nhập thành công mà không cần nhập bất kỳ mật khẩu nào!
!Hình ảnh minh họa
Thông báo: Website này tuân thủ giấy phép Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International. Nếu bạn muốn sao chép bài viết, xin vui lòng ghi rõ nguồn là Knay.Net™.
0 bình luận
Huỷ trả lời