Cài đặt OpenSSH Server trên Linux
OpenSSH là phần mềm nguồn mở, nó cho phép tạo dịch vụ SSH Server (máy chủ SSH) và các chương trình SSH CLient. Cài đặt mặc định trong các máy chủ CentOS, Ubuntu thường là có sẵn OpenSSH Server, nếu chưa có thì cài đặt như sau (gồm cả trình client và server):
Cài đặt OpenSSH Server trên CentOS/RHEL
Thực hiện các lệnh sau để cài đặt:
yum install openssh openssh-server openssh-clients openssl-libs -y
Cài đặt OpenSSH Server trên Ubuntu
Thự hiện các lệnh sau để cài đặt:
sudo apt-get install openssh-server openssh-client
Chạy dịch vụ SSH Server, thiết lập chạy ngay khi khởi động
systemctl start sshd systemctl enable sshd
Mặc định SSH dùng cổng 22
nên bạn phải mở cổng này nếu có firewall
firewall-cmd --add-port=22/tcp --permanent firewall-cmd --reload
Nếu sau này bạn cấu hình đổi cổng SSH mặc định, bạn cần mở cổng đó (thay 22 bằng cổng của bạn)
File cấu hình của OpenSSH Server tại /etc/ssh/sshd_config
, bạn có thể mở và chỉnh sửa
nó theo nhu cầu
(có thể dùng Vim, Nano để soạn thảo).
Sau khi sửa Config thì cần khởi động lại SSH Server.
systemctl restart sshd
Kiểm tra trạng thái SSH Server
systemctl status sshd
Như vậy đã có SSH Server, hãy xem phần cấu hình để biết cầu hình cơ bản: Cấu hình SSH Server cơ bản
Cài đặt OpenSSH Server trên Windows
Phần này hướng dẫn cài đặt từng bước - thủ công, để có SSH Server trên Windows (Để áp dụng được cho nhiều phiên bản Windows (Desktop, Server - từ 7 đến 10, 2008, 2019 ..., vì các phiên bản mới của Windows cung cấp sẵn gói OpenSSH nên có thể cài đặt bằng gõ vài lệnh PowserShell, cái này sẽ nói ở một phần khác)
Bước 1 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
Bước 2 Chạy PowserShell
hoặc (Cmd
)
với quyền Administrator (Nhấn phải chuột vào biểu tượng PowerShell hoặc Cmd và chọn
Run as Administrator ...), sau đó chuyển đến thư mục C:\OpenSSH
bằng lệnh
cd C:\OpenSSH
Đang ở thư mục C:\OpenSSH
, gõ lệnh sau để cài đặt dịch vụ OpenSSH Server vào Windows
powershell -ExecutionPolicy ByPass -File install-sshd.ps1
Bước 3 Gõ services.msc
vào Menu Start, chạy
và mở Windows Services Manager, tìm đến OpenSSH SSH Server
và dịch vụ OpenSSH Authetication Agent. Thiết lập cả hai dịch vụ có Startup type
là Automatic
(khởi chạy cùng hệ thống), cuối cùng hãy chạy 2 dịch vụ đó
(nhấn phải chuột vào nó, chọn start)
Bước 4 Mở cổng 22
, vì SSH Server làm việc trên cổng
22 nên cần thiết lập Firewall
cho phép kết nối đến cổng này. Để tự động tạo rule cho
phép kết nối đến cổng 22
trong Windows Firewall, bạn có thể tải file .bat sau về
Open Port 22
,
lưu vào đĩa, ví dụ lưu tại C:\OpenSSH\openport22.bat
, sau đó chạy file bat này với quyền Administrator.
Sau khi chạy, nó sẽ tạo một Rule
có tên Open Port 22
trong Windows Firewall là thành công
File cấu hình của OpenSSH Server tại C:\OpenSSH\sshd_config_default
,
nếu có chỉnh sửa / thiết lập từ file này, bạn cần khở động lại dịch vụ SSH từ Service Manager
như trên
Cấu hình dịch vụ OpenSSH Server
Các cấu hình cho dịch vụ SSH trên Server giống nhau giữa Windows và Linux, các thiết lập thực hiện bằng việc chỉnh sửa file cấu hình, sau khi cập nhật thì khởi động lại dịch vụ SSH. Vị trí file cấu hình tại:
/etc/ssh/sshd_config
trên LinuxC:\OpenSSH\sshd_config_default
trên Windows (Theo đường dẫn thư mục bạn cài OpenSSH)
Dưới đây là một số cấu hình (trong các file cấu hình một số thiết lập mặc định để ở chế độ commment
- có ký tự # phía trước - nếu bạn thiết lập riêng thì xóa #
)
-
1) Đổi cổng mặc định nếu muốn đổi cổng kết nối SSH, ví dụ đổi sang cổng
2233
Port 1235
-
2) Chỉ cho phép một số User kết nối SSH nếu chỉ muốn một số User được chỉ ra được phép kết nối SSH, ví dụ chỉ cho phép user1, user2 thì thêm vào
AllowUsers abcuser xtlab
CHÚ Ý: nếu không có dòng này, mặc định tất các các user được kết nối.
User
là tài khoản của hệ thống (ví dụroot
trên Linux,Administrator
trên Windows, những User này do bạn tạo - như trên Linux là lệnhuseradd
, trên Windows thêm bằng trình User Accounts trong Control Panel) -
3) Cấm một số User ngược lại với AllowUsers, muốn cấm User nào, ví dụ user3, user4 thì thêm vào
DenyUsers abcuser xtlab
-
4) Bật chế độ xác thực SSH Key
PubkeyAuthentication yes
Chế độ xác thực này - tìm hiểu cụ thể ở phần Xác thực SSH bằng Public/Private key
-
5) Chỉ ra đường dẫn lưu Public key ví sụ lưu tại
.ssh/authorized_keys
(tìm hiểu sau)AuthorizedKeysFile .ssh/authorized_keys
-
6) Tắt xác thực bằng Password nếu muốn tắt chế độ cho phép nhập Password để kết nối SSH thì thêm vào
PasswordAuthentication no
Bạn nhớ là chế độ này
on
mặc định, bạn chỉ nên tắt khi đã có thể kết nối bằng Private Key -
7) Không cho xác thực bằng password rỗng
PermitEmptyPasswords no
-
8) Không cho tài khoản root đăng nhập
PermitRootLogin no
Vậy là đã có dịch vụ SSH chạy ở Server - với cấu hình cơ bản, giờ đến lúc từ máy trạm kết nối vào Shell của Server bằng SSH tại Kết nối vào Server bằng SSH