Làm cách nào để bạn thiết lập SFTP của máy chủ thành máy chủ để sử dụng xác thực khóa công khai thay vì tài khoản người dùng và mật khẩu?Thiết lập SFTP để sử dụng xác thực khoá công khai
Trả lời
trên máy khách, bạn cần tạo khóa công cộng và thêm nó vào danh sách khóa được ủy quyền của máy chủ.
ssh-keygen -t dsa -f id_dsa //on client machine
mv id_dsa* ~/.ssh/ //on client machine
scp ~/.ssh/id_dsa.pub [email protected]:~/.ssh/HOST_NAME.key // on client machine
cat ~/.ssh/HOST_NAME.key >> ~/.ssh/authorized_keys2 // on server
Hãy nhớ
chmod 700 .ssh
và cũng
chmod 600 authorized_keys
Đây là một giải pháp cho các cửa sổ người dùng
Tôi đã có một vấn đề tương tự trên cửa sổ vì vậy tôi sử dụng Putty từ http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Nếu bạn cần tạo khóa công khai en sử dụng: http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe
Sau đó, khi bạn muốn tự động hoá một lô để tải về từ máy chủ FTP của Pageant để tải các khóa bí mật vào phiên http://the.earth.li/~sgtatham/putty/latest/x86/pageant.exe
Sau đó sử dụng PSFTP để kết nối và thực hiện hành động http://the.earth.li/~sgtatham/putty/latest/x86/psftp.exe
vì vậy, đây là mẫu mã cho hàng loạt:
!--Loading the key to session--!
@C:\pageant.exe "C:\privatekey.ppk"
!--Calling the PSFTP.exe with the uaser and sftp address + command list file--!
@C:\psftp [email protected] -b C:\sftp_cmd.txt
danh sách lệnh tập tin (sftp_cmd.txt) sẽ thích như thế này:
mget "*.*" !--downloading every thing
!--more commands can follow here
close
Bây giờ, tất cả các bạn cần phải để sắp xếp nó trong kế hoạch nhiệm vụ * Tôi muốn nó là đơn giản như công việc định kỳ unix của ....
Sử dụng 'ssh- copy-id' thay vì nhảy 'scp' +' cat' của bạn. – ephemient
Đẹp, giống như ssh-copy-id đó. Tôi đang sử dụng HP-UX và muốn nó được cài đặt. –
Ồ đúng ... Tôi quên rằng không phải tất cả thế giới đều sử dụng OpenSSH. Buồn. – ephemient