Làm thế nào để xem tiến trình với sshpass và scp trong linux?


9

Trong thiết bị đầu cuối Linux của tôi, tôi đang sử dụng lệnh này

sshpass -p "pass" scp -r me8@host.ca:/cmshome/me/file /home/me/Desktop

để tải về một tập tin có mật khẩu trong đó. Không có sshpass, tôi có thể thấy tiến trình tải xuống, nhưng với nó, nó chỉ trống cho đến khi hoàn thành và tôi không thể nhìn thấy nó.

Có cách nào tôi có thể nhìn thấy nó với sshpass không?

Câu trả lời:


4

Tôi nghĩ những gì bạn yêu cầu không dễ thực hiện, thậm chí có thể là không thể với kịch bản bash cơ bản.

Do đó, những điều sau đây không thực sự trả lời câu hỏi của bạn mà cung cấp một cách tiếp cận khác cho vấn đề của bạn.

Thay vì sử dụng sshpass, bạn có thể sử dụng scplệnh đơn giản với xác thực khóa công khai mà không cần mật khẩu. Xem [1] nếu bạn không biết nó là gì.

Nếu bạn có ý định sử dụng scp trong các tập lệnh để sử dụng cục bộ , thì đây là cách IMO:

  • tạo khóa công khai không có mật khẩu
  • sử dụng ssh-copy-idđể thêm khóa công khai của bạn vào máy chủ

Điều đó đã đủ để có thể chạy lệnh của bạn mà không cần bất kỳ lời nhắc nào:

scp -r me8@host.ca:/cmshome/me/file /home/me/Desktop

Đối với các tập lệnh mà bạn muốn phân phối , sshpass có mật khẩu rõ ràng chắc chắn không phải là ý hay, ít nhất bạn nên sử dụng cờ "-e" của sshpass và để người dùng cung cấp mật khẩu làm biến môi trường để bảo mật tốt hơn.

Trong trường hợp đó, cách tiếp cận khóa công khai ít thuận tiện hơn nhưng vẫn có thể. Nếu bạn không đủ khả năng yêu cầu người dùng tập lệnh tạo khóa công khai, bạn có thể tạo khóa công khai nhanh chóng, sao chép nó trên máy chủ và thực hiện scpmà không cần bất kỳ lời nhắc nào:

 #!/bin/bash
 KEY="$HOME/.ssh/id_rsa_example"
 if [ ! -e "$KEY" ]; then
     ssh-keygen -t rsa -N "" -f "$KEY"
     sshpass -e ssh-copy-id -i "${KEY}.pub" me8@host.ca
 fi
 scp -r me8@host.ca:/cmshome/me/file /home/me/Desktop

Cuối cùng, vẫn có khả năng sử dụng rsyncđể tạo thanh tiến trình thay thế:

$ rsync -P --rsh="sshpass -p $PASSWORD ssh -l me8" host.ca:/cmshome/me/file /home/me/Desktop

[1] https://help.ubfox.com/community/SSH/OpenSSH/Keys

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.