Làm cách nào để lưu mật khẩu khi sử dụng SCP (bản sao)?


11

Tôi đang gặp vấn đề khi tôi kéo một tập tin từ máy khác sang máy của mình bằng SCP. Tập tin được chuyển thành công nhưng mỗi lần nó hỏi mật khẩu. Tôi muốn chạy SCPlệnh này như một cronjob, Làm thế nào tôi có thể lưu mật khẩu cho tự động hóa này?

scp user@abc.com:/usr/etc/Output/*.txt /usr/abc/  
user@abc.com's password:

Câu trả lời:


13

Bạn có thể làm:

  1. ( nếu chưa được thực hiện ) tạo một bộ khóa ssh công khai và riêng tư trên máy của bạn cho người dùng của bạn với:

    $ ssh-keygen

    Trả lời các câu hỏi để tạo bộ khóa.

  2. sao chép khóa công khai của bạn vào máy chủ từ xa:

    $ ssh-copy-id remote-user@remote-host

    Điều này sẽ cho phép đăng nhập từ bạn username@hostđến remote-user@remote-hostmà không được nhắc với xác thực p / w.


bạn có ý nghĩa gì trong bước 2? bạn có nghĩa là sao chép tệp đã tạo ở bước một vào máy mà tôi muốn sao chép tệp
Mohsen El-Tahawy

@ MohsenEl-Tahawy, ssh-copy-idsẽ đảm nhiệm việc sao chép thông tin đăng nhập được mã hóa vào máy chủ từ xa, theo cách đó nó sẽ không nhắc cho p / w lần sau khi người dùng đó truy sshcập vào nó.
fduff

5

bạn có thể sử dụng điều này: sshpass -p 'your_password' scp user@abc.com:/usr/etc/Output/*.txt /usr/abc/ nhưng hãy nhớ rằng bạn lưu trữ mật khẩu trong văn bản gốc.


0

Làm theo câu trả lời của fduff, nhưng khi bạn chạy keygen, hãy nhấn enter khi nó yêu cầu mật khẩu. Điều này sẽ tạo ra một khóa không yêu cầu nhập mật khẩu khi nó được sử dụng.


-3

Người ta có thể sử dụng lệnh sau:

scp -r user@abc.com:/usr/etc/Output/*.txt /usr/abc/

Và cũng thiết lập khóa ssh dựa trên auth để không hỏi mật khẩu trong scp.


Tôi sử dụng scp -r user@abc.com: / usr / etc / Output / *. Txt / usr / abc / nhưng nó cũng yêu cầu mật khẩu @Muralibabud
Nishat

@Nishat sử dụng ssh-keygenssh-copy-id user@abc.comnhư fduff đã đăng ở trên
Muralibabud
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.