Kết Nối SSH đến Server Cơ Bản Với OpenSSH Client
Có thể bạn quan tâm
Ở đây, bạn được cung cấp một tài khoản máy Remote (server), giả sử tài khoản đó có tên (user) là username, có password là yourpassword - máy server này có địa chỉ IP hoặc domain trỏ đến server là remoteserver. Với thông tin như vậy, làm sao để kết nối đến Shell của Server! Phần này sẽ hướng dẫn cơ bản sử dụng OpenSSH Client để kết nối.
- Cài đặt OpenSSH Client
- Sử dụng SSH Client cơ bản
- Kết nối SSH đến Server
- File cấu hình ssh_config
Cài đặt OpenSSH Client
Kiểm tra: Mở terminal (trên Windows dùng cmd hoặc PowerShell) gõ lệnh:
ssh -VNếu báo không có lệnh ssh thì bạn cần cài đặt vào.
Cài đặt OpenSSH trên Windows
Nó cũng chính là gói OpenSSH Server, cài đặt như sau: Tải về OpenSSH - vào đường link Win OpenSSH, chọn đúng phiên bản phù hợp với hệ thống của bạn (chọn OpenSSH-Win32.zip hay OpenSSH-Win64.zip theo kiến trúc Windows của bạn), File tải về giải nén vào thư mục muốn cài đặt, ví dụ chọn giải nén vào thư mục C:\OpenSSH
OpenSSH Client đã có ở thư mục C:\OpenSSH, để gõ lệnh ssh bất kỳ đầu bạn cần thêm đường dẫn C:\OpenSSH vào biến môi trường PATH của Windows
Từ File Explorer nhấn phải chuột vào Computer (hoặc This PC) trên Windows 10, chọn Properties, cửa sổ System xuất hiện chọn (1) Advanced System settings, chọn (2) Enviroment variables .., chọn (3) Nháy kép vào Path, (4) Thêm thư mục C:\OpenSSH vào cuối
Có thể cần khởi động lại máy để có hiệu lực. Mở Powershell hoặc Cmd gõ lệnh kiểm tra
Cài đặt OpenSSH macOS
Trên macOS thì SSH Client cài đặt sẵn, gõ lệnh sau để kiểm tra ssh -V
Cài đặt OpenSSH trên Ubuntu
Với Ubuntu Destop, SSH Client cũng có mặc định, nếu không thấy gõ lệnh để cài, cuối cùng là kiểm tra như hình
sudo apt-get install openssh-clientSử dụng SSH Client cơ bản
Giờ trên máy của bạn (macOS, Windows, Linux) đều có lệnh ssh, nó là ssh client cơ bản để kết nối đến Server. Giả sử tải khoản SSH máy chủ là testuser, có password là yourpassword - máy server này có địa chỉ IP hoặc domain trỏ đến server là remoteserver (ví dụ 192.168.1.99 hay yourdomain.com).
Thực hiện kết nối SSH đến Server
ssh username@remoteserverusername@remoteserver nghĩa là tài khoản username tại máy chủ remoteserver. Lệnh này sẽ bắt đầu thực hiện kết nối SSH đến server có địa chỉ remoteserver, mặc định sẽ dùng cổng 22, nó sẽ hỏi password - bạn nhập password vào, nếu thành công - bạn sẽ ở dòng lệnh của máy Server.
Ví dụ, máy Windows Remote có dịch vụ SSH, tài khoản testuser, địa chỉ IP 192.168.1.52, để kế nối đến máy này thực hiện lệnh SSH ở client như sau:
ssh testuser@192.168.1.52Sau khi nhập lệnh, do lần đầu kết nối SSH đến IP này, nên ssh có hỏi về ECDSA key fingerprint- gõ yes, rồi nhập password theo yêu cầu, như hình dưới
Sau khi nhập password - kết nối thành công tới dòng lệnh của máy Windows (Remote Server)
Khi đã kết nối SSH tới Server Windows rồi, có thể gõ powershell.exe để chuyển sử dụng PowerShell, từ đó thực hiện các tác vụ trên Windows.
Tương tự, nếu Server là Linux CentOS hay Ubuntu thì lệnh kết nối ssh như trên sẽ giúp bạn vào thẳng terminal của máy Server - từ đó thi hành các lệnh của Server
Nếu cổng kết nối khác 22 ví dụ cổng 2222 thì cho vào tham số -p 2222
ssh -p 2222 username@remoteserverNgoài ra để hiện một số thông tin thì cho vào tham số -v, hiện thị thông tin thật chi tiết quá trình kết nối (giúp gõ rối nếu lỗi) thì thâm vào tham số -vvv, nếu muốn nén dữ liệu khi truyền qua SSH thì thêm vào tham số -C
ssh -p 2222 -vvv username@remoteserverNgoài cách kết nối yêu cầu xác thực bằng cách nhập password mà SSH Server cung cấp như trên, cách phổ biến - nhanh chóng - an toàn hơn là dùng cơ chế xác thực Public/Private key - sau khi giới thiệu file cấu hình SSH Client phần sau, chúng ta sẽ tiến hành tạo cặp key Public/Private và dùng cơ chế xác thực này để kết nối Tạo Public/Private SSH Key và xác thực với authorized_keys
File cấu hình SSH Client
ssh (ssh client) khi chạy, thực hiện các kết nối - nó sẽ tìm file cấu hình tại đường dẫn ~/.ssh/config, nếu có file này nó dùng file đó thiết lập các thông tin bổ sung kết nối.
Trong đường dẫn file trên, ~ cho biết đó là thư mục của User hiện tại, như vậy mỗi user của máy có thể có file config riêng.
Ví dụ:
- Trên máy macOS, user có tên abc thì ~/.ssh/config có đường dẫn đầy đủ là /Users/abc/.ssh/config, macOS có thể dùng ngày file config /etc/ssh/ssh_config
- Trên Windows, user có tên abc thì ~/.ssh/config có đường dẫn đầy đủ là C:\Users\abc\.ssh\config
- Trên Linux (Ubuntu, CentOS), user có tên abc thì ~/.ssh/config có đường dẫn đầy đủ là /home/abc/.ssh/config
Như vậy, nếu file config cho user abc trên hệ thống chưa có, thì cần tạo file này, nằm đúng ở đường dẫn như trên.
Chú ý: trên Windows, để tạo được thư mục .ssh thì bạn dùng PowerShell (không dùng Cmd), và gõ lệnh mkdir để tạo thư mục
mkdir C:\Users\abc\.sshCó thư mục .ssh rồi mới tạo file config trong đó.
File config có cấu trúc, chia thành từng khối - mỗi khối bắt đầu bằng Host hostname, trong đó hostname tên do bạn đặt, hoặc là IP của Server hoặc domain trỏ đến server. Sau đó đến các cấu hình. Khối này sẽ áp dụng nếu khi lệnh kết nối ssh username@remoteserver có thành phần remoteserver giống với hostname
Ví dụ - hãy xem file config sau:
# Khối thứ nhất Host 192.168.1.2 Port 2222 # Khối thứ hai Host 192.168.1.3 Port 3333Khi bạn kết nối bằng lệnh:
ssh user@192.168.1.2Thì phần remoteserver phù hợp với khối thứ nhất, do đó nó sẽ áp dụng cấu hình thứ nhất - và kết nối bằng cổng 2222, tương tự nếu
ssh user@192.168.1.3Thì sẽ dùng cổng 3333 để kết nối
Thậm chí bạn đặt tên host bằng tên nào đó do bạn đặt, ví dụ:
Host ten-rat-dep # cổng Port 22 # host thật HostName 192.168.1.52Thì lúc đó bạn gõ lệnh kết nối
ssh testuser@ten-rat-depThì có nghĩa là thực hiện kết nối đến 192.168.1.52 với cổng 22 và user là testuser. Thậm chỉ bạn có thể thiết lập User mặc định luôn, ví dụ:
Host ten-rat-dep # User mặc định User testuser # cổng Port 22 # host thật HostName 192.168.1.52Lúc đó, để thực hiện kết nối trên, đơn giản gõ
ssh ten-rat-depNgoài Port User HostName tham khảo một số cấu hình nữa như:
- PreferredAuthentications publickey bật chế độ xác thực bằng SSH Key trước
- IdentityFile "path/../file_private_key" vị trí file Private key
Còn nhiều cấu hình khác, tuy nhiên các thiết lập trên đã đủ cho hầu hết các trường hợp, khối config cơ bản
Host ten-rat-dep Port 2222 HostName 192.168.1.52 User testuser PreferredAuthentications publickey IdentityFile "C:\MySSHKey\id_rsa"Chú ý: trong file config này không thể thiết lập Password, nên nếu muốn gõ lệnh kết nối mà không phải nhập pass thì tham khảo Tạo Public/Private SSH Key và xác thực với authorized_keys
Mục lục bài viết Cài đặt OpenSSH ClientSử dụng SSH Client cơ bảnKết nối SSH đến ServerFile cấu hình ssh_config ĐĂNG KÝ KÊNH, XEM CÁC VIDEO TRÊN XUANTHULAB Đăng ký nhận bài viết mớiTừ khóa » Cách Dùng Ssh
-
SSH Là Gì Và Cách Sử Dụng SSH Cho Người Mới Bắt đầu - Hostinger
-
SSH Là Gì? Cách Dùng SSH Trao đổi Dữ Liệu Với Server Linux
-
SSH Là Gì? Kiến Thức Về Giao Thức SSH Từ A đến Z - FPT Cloud
-
Giao Thức SSH Là Gì? Hướng Dẫn Sử Dụng SSH Từng Bước
-
SSH Là Gì? Tìm Hiểu Tất Cả Kiến Thức Về Giao Thức SSH - Vietnix
-
SSH Server Là Gì? Cách Sử Dụng SSH để Thao Tác Trên Server
-
Hướng Dẫn Kết Nối SSH Trên Windows - Trang Tin Tức Từ Cloud365
-
SSH Là Gì? Hướng Dẫn Sử Dụng SSH Cho Người Mới Tìm Hiểu
-
Tổng Quan Về SSH Và Cách Connect SSH đến Server? - Viblo
-
Cách Thiết Lập Và Sử Dụng SSH Trong Linux
-
SSH – Wikipedia Tiếng Việt
-
SSH Là Gì? Hướng Dẫn Chi Tiết Cách Sử Dụng SSH | BKHOST
-
Hướng Dẫn Sử Dụng SSH Key - HOSTVN
-
5 Cách Sử Dụng Ssh Trong Windows, Cách Dùng Ssh Trao Đổi Dữ ...