2014-04-15 14 views
5

Tôi muốn sao chép một số tệp vào hệ thống Linux từ xa từ máy tính Windows của mình bằng cách sử dụng pscp (từ putty). Tôi đã viết một kịch bản nhỏ mà gọi các lệnh PSCP theo cách này:Lệnh tự động nhập mật khẩu cho pscp

"C:\Users\hp\Desktop\pscp.exe" -scp C:\Users\hp\Desktop\scripts\* [email protected]:/root/scripts 
"C:\Users\hp\Desktop\pscp.exe" -scp C:\Users\hp\Desktop\scripts2\* [email protected]:/root/scripts2 

pause 

Nhưng khi tôi khởi động kịch bản dơi này, tôi yêu cầu nhập mật khẩu, vì vậy tôi nhập mật khẩu bằng tay.

Có cách nào để nhập mật khẩu tự động thông qua tệp lô không?

Trả lời

15

Từ putty documentation

5.2.2.6 -pw passw đăng nhập với mật khẩu định

Nếu mật khẩu được yêu cầu để kết nối với máy chủ, PSCP sẽ tương tác nhắc bạn cho nó. Tuy nhiên, điều này có thể không phải lúc nào cũng là thích hợp. Nếu bạn đang chạy PSCP như một phần của một số công việc tự động, nó sẽ không thể nhập mật khẩu bằng tay. Tùy chọn -pw tới PSCP cho phép bạn chỉ định mật khẩu để sử dụng trên dòng lệnh.

3

Bạn có thể tự mình làm việc này. Sử dụng tùy chọn /? để xem trợ giúp. Các bộ phận thích hợp được bao gồm dưới đây.

 
>pscp /? 
PuTTY Secure Copy client 
Release 0.60 
Usage: pscp [options] [[email protected]]host:source target 
     pscp [options] source [source...] [[email protected]]host:target 
     pscp [options] -ls [[email protected]]host:filespec 
Options: 
...... 
    -l user connect with specified username 
    -pw passw login with specified password 
...... 

Sử dụng các tùy chọn -l-pw để xác định một người dùng và mật khẩu.

Vì vậy, trong khi đó trả lời câu hỏi cụ thể mà bạn đã hỏi, cơ hội thực sự cho bạn là tìm hiểu cách lấy tài liệu từ các tiện ích dòng lệnh.

0

Sử dụng putty để thiết lập thông tin đăng nhập từ xa mà không cần mật khẩu. Điều này sẽ liên quan đến lệnh puttygen. Bạn sẽ cần một khóa riêng và mục tiêu sẽ cần một khóa công khai. Khi bạn đã xác minh rằng bạn có tệp khóa riêng tư tốt và đăng nhập mà không cần nhập mật khẩu, bạn có thể tham chiếu bằng tùy chọn khóa "-i" riêng tư trên pscp. Bạn có thể thiết lập khóa mà không cần kết nối putty nếu nó không được phép, nhưng đây là cách dễ nhất. Chỉ cần nói không với mật khẩu trong rõ ràng:

C:\Users\riglerjo>pscp -i .ssh\rigler_rsa.ppk test.txt [email protected]:. 
test.txt     | 0 kB | 0.0 kB/s | ETA: 00:00:00 | 100% 
+0

Bạn cần có khóa riêng và nhu cầu đích * khóa công khai * (cụ thể) * bắt nguồn từ * khóa riêng của bạn, trong '.ssh/authorized_keys'. Nhưng nếu tệp tin khóa riêng của bạn có cụm mật khẩu, thường là nó nên, bạn vẫn được nhắc. Để tránh * that *, sử dụng 'pageant', tương đương putty của' ssh-agent'; nó giữ khóa riêng của bạn trong bộ nhớ và sử dụng nó mà không cần nhắc lại nhưng chỉ cho đến khi bạn đăng xuất hoặc tắt máy. –

0
sshpass -p'password' pscp -A -H "ip" -t 20 -l root /var/www/html/temp_santosh.txt /tmp/ 

Bạn có thể sử dụng sshpass với -p tùy chọn ngay trước khi pscp

9
pscp -pw yourPasswordHere C:\Users\testUser\Downloads\test.sh [email protected]:/home/testUser 

tôi đã nhận thấy rằng không có ai gửi mẫu của lệnh đó với - tùy chọn pw.

+0

Đây là câu trả lời đơn giản nhất và tốt nhất. –

Các vấn đề liên quan