Máy khách SSH tích hợp sẵn đã xuất hiện trong Windows 10 và Windows Server 2019. Ssh.exe
có thể được sử dụng để kết nối an toàn với máy chủ Linux / UNIX, máy chủ VMWare ESXi và các thiết bị khác thay vì Putty, MTPuTTY và các máy khách SSH bên thứ ba khác. Máy khách Windows SSH gốc dựa trên OpenSSH và được cài đặt sẵn trong Windows bắt đầu từ Windows 10 bản dựng 1809.
Nội dung:
- Cách Bật (Cài đặt) Ứng dụng khách OpenSSH trên Windows 10?
- Sử dụng Native SSH Client trên Windows 10
- Sử dụng SCP.exe để truyền tệp đến / từ máy chủ Windows bằng SSH
Làm cách nào để Bật (Cài đặt) Ứng dụng khách OpenSSH trên Windows 10?
Ứng dụng khách OpenSSH được bao gồm trong Windows 10 Tính năng theo yêu cầu (như RSAT). Máy khách SSH được cài đặt theo mặc định trên Windows Server 2019, Windows 10 1809 và các bản dựng mới hơn.
Kiểm tra xem máy khách SSH đã được cài đặt chưa:
Get-WindowsCapability -Online | ? Name -like 'OpenSSH.Client*'
Trong ví dụ của chúng tôi, ứng dụng khách OpenSSH đã được cài đặt ( Trạng thái:Đã cài đặt ).
Nếu không ( Trạng thái:Không có mặt ), bạn có thể cài đặt nó bằng cách sử dụng:
- Lệnh PowerShell:
Add-WindowsCapability -Online -Name OpenSSH.Client*
- Với DISM:
dism /Online /Add-Capability /CapabilityName:OpenSSH.Server~~~~0.0.1.0
- Qua Cài đặt -> Ứng dụng -> Tính năng tùy chọn -> Thêm tính năng. Tìm ứng dụng OpenSSH trong danh sách và nhấp vào Cài đặt .
Tệp nhị phân OpenSSH nằm trong c:\Windows\System32\OpenSSH\
.
-
ssh.exe
- máy khách SSH có thể thực thi; -
scp.exe
- công cụ để sao chép tệp trong phiên SSH; -
ssh-keygen.exe
- công cụ tạo khóa xác thực RSA SSH; -
ssh-agent.exe
- được sử dụng để quản lý các khóa RSA; -
ssh-add.exe
- thêm khóa vào cơ sở dữ liệu tác nhân SSH.
Bạn cũng có thể cài đặt OpenSSH trên các phiên bản Windows trước:chỉ cần tải xuống và cài đặt Win32-OpenSSH từ GitHub (bạn có thể tìm một ví dụ trong bài viết:Định cấu hình SSH FTP trên Windows).
Sử dụng Native SSH Client trên Windows 10
Để khởi động máy khách SSH, hãy chạy lời nhắc PowerShell hoặc cmd.exe. Bạn có thể liệt kê các tùy chọn và cú pháp có sẵn cho ssh.exe:
ssh
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file] [-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address] [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]] destination [command]
Để kết nối với máy chủ từ xa bằng SSH, hãy sử dụng lệnh sau:
ssh username@host
Nếu máy chủ SSH của bạn đang chạy trên một cổng khác với TCP / 22 tiêu chuẩn, hãy chỉ định số cổng:
ssh username@host -p port
Ví dụ:để kết nối với máy chủ Linux có địa chỉ IP 192.168.1.102 dưới dạng root, hãy chạy lệnh sau:
Ở lần kết nối đầu tiên, bạn sẽ thấy yêu cầu thêm khóa máy chủ vào danh sách đáng tin cậy. Nhập yes
và nhấn ENTER. Sau đó, tệp tham chiếu của khóa máy chủ được thêm vào C:\ Users \ tên người dùng \ .ssh \ known_hosts tệp.
Bạn sẽ được nhắc nhập mật khẩu. Chỉ định mật khẩu gốc của bạn và bảng điều khiển của máy chủ Linux từ xa của bạn sẽ mở (trong ví dụ của tôi, CentOS được cài đặt trên máy chủ từ xa).
Sử dụng SSH, bạn có thể kết nối cả với * Nix OS và Windows. Trong một trong các bài viết trước, chúng tôi đã hướng dẫn cách định cấu hình máy chủ OpenSSH trong Windows 10 và kết nối với máy chủ này từ máy chủ Windows bằng máy khách SSH.
Nếu bạn sử dụng xác thực SSH với các khóa RSA (xem ví dụ về cách định cấu hình xác thực SSH bằng các khóa trong Windows), bạn có thể chỉ định một đường dẫn đến tệp khóa riêng trong ứng dụng khách SSH của mình như sau:
ssh [email protected] -i "C:\Users\username\.ssh\id_rsa"
Bạn cũng có thể thêm khóa cá nhân vào SSH-Agent. Đầu tiên, hãy bật dịch vụ ssh-agent và định cấu hình khởi động tự động cho nó.
set-service ssh-agent StartupType 'Automatic'
Start-Service ssh-agent
Thêm khóa cá nhân của bạn vào cơ sở dữ liệu ssh-agent:
ssh-add "C:\Users\username\.ssh\id_rsa"
Sau đó, bạn sẽ có thể kết nối với máy chủ của mình qua SSH mà không cần chỉ định đường dẫn đến khóa RSA. Nó sẽ được sử dụng tự động. Giờ đây, bạn có thể kết nối an toàn với máy chủ của mình mà không cần mật khẩu (nếu bạn chưa bảo vệ khóa RSA của mình bằng một mật khẩu khác):
Dưới đây là một số đối số SSH hữu ích hơn:
-
-C
- được sử dụng để nén lưu lượng giữa máy khách và máy chủ (rất hữu ích trong trường hợp kết nối chậm hoặc không ổn định) -
-v
- hiển thị thông tin chi tiết về tất cả các hành động của máy khách SSH -
-R/-L
- có thể được sử dụng để chuyển tiếp các cổng bằng đường hầm SSH
Sử dụng SCP.exe để Truyền tệp đến / từ Máy chủ Windows bằng SSH
Sử dụng scp.exe công cụ (là một phần của gói ứng dụng khách SSH của Windows 10), bạn có thể sao chép tệp từ máy tính của mình sang máy chủ SSH:
scp.exe "E:\ISO\CentOS-8.1.x86_64.iso" [email protected]:/home
Bạn có thể sao chép tất cả nội dung thư mục một cách đệ quy:
scp -r E:\ISO\ [email protected]:/home
Và ngược lại, bạn có thể chuyển tệp từ máy chủ từ xa sang máy tính của mình:
scp.exe [email protected]:/home/CentOS-8.1.x86_64.iso c:\iso
Do đó, bạn có thể kết nối trực tiếp với máy chủ SSH từ Windows 10 của mình, sao chép tệp bằng scp mà không cần bất kỳ ứng dụng hoặc công cụ của bên thứ ba nào khác.