Windows 10 hiện đã có OpenSSH tích hợp.
Https://docs.microsoft.com/en-us/windows-server/adftime/openssh/openssh_install_firstuse
Nhận lời nhắc lệnh quản trị viên
Open PowerShell as an Administrator.
Kiểm tra các phiên bản có sẵn
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
Cài đặt máy khách
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Cài đặt máy chủ
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Khởi động máy chủ và kích hoạt khi khởi động
Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'
Tìm địa chỉ IP Windows của bạn
ipconfig
Trên máy từ xa (Linux), tìm địa chỉ IP của bạn.
ifconfig
Tạo khóa SSH công khai
ssh-keygen.exe
Sao chép khóa công khai từ máy cục bộ (Windows) sang máy từ xa (Linux) để bạn không phải nhập mật khẩu mọi lúc.
Lưu ý rằng ssh-copy-id hiện không có sẵn trên Windows.
cat C:\Users\YOU/.ssh/id_rsa.pub | ssh USER@REMOTE_IP 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'
Thực hiện tương tự trên máy Linux của bạn (Lưu ý, ssh-copy-id không hoạt động)
ssh-keygen # if needed
cat ~/.ssh/id_rsa.pub | ssh USER@WINDOWS_IP 'mkdir -p ~/.ssh && type con >> C:/Users/YOU/.ssh/authorized_keys'
Phương pháp trên không hiệu quả với tôi, vì vậy tôi đã kết thúc thủ công SCPing khóa công khai và dán nó vào tệp C: /Users/YOU/.ssh/authorized_keys.
Điều đó vẫn không hoạt động, vì vậy tôi đã phải sửa đổi tệp sshd_config.
Match User YOU
AuthorizedKeysFile C:/Users/YOU/.ssh/authorized_keys
Tạo mật khẩu trên Windows nếu bạn chưa có mật khẩu
System Settings...Sign-in options
- Lưu ý, bạn vẫn có thể vô hiệu hóa màn hình đăng nhập Windows bằng cách a) Đặt tùy chọn 'Yêu cầu đăng nhập' thành không bao giờ và b) Sử dụng lệnh 'netplwiz' và bỏ chọn hộp kiểm 'Người dùng phải nhập mật khẩu ...'.
Bây giờ bạn sẽ có thể SSH hoặc SCP từ máy Linux của bạn
scp FILE WINDOWS_IP:C:/Users/YOU/Desktop
scp some_file user@host:/c/temp