ถ่ายโอนไฟล์ไปยังโฮสต์อื่นโดยไม่ต้องใส่รหัสผ่าน


3

สวัสดีฉันลองทั้งสองscpและrsyncคัดลอกทรัพยากรจากเครื่องของฉันไปยังโฮสต์ระยะไกล

ฉันไม่สามารถเข้าถึงรูทบนเครื่องระยะไกลได้ แต่ฉันต้องถ่ายโอนไฟล์จำนวนมากจากโฮสต์ของฉันไปยังเครื่องรีโมตซึ่งอยู่ในไดเรกทอรีที่แตกต่างกันและการทำสิ่งนี้ด้วยตนเองจะใช้เวลานานมาก (จะใช้เวลานาน) .

นี่คือสิ่งที่ฉันได้ลองไปแล้ว:

echo "password" | rsync -v -e myfile ssh user@remotehost:/home/user/destination

หรือ :

echo "password" | scp -r myfile user@remotehost:/home/user/destination 

หรือ:

scp -r myfile user@remotehost:/home/user/destination  <<EOF
password
EOF

แต่ฉันยังได้รับพรอมต์ที่น่ารำคาญสำหรับรหัสผ่าน:

user@remotehost's password:

ข้อเสนอแนะอื่น ๆ ที่ฉันลอง?

ปรับปรุง

ผู้ใช้ของฉันในเครื่องท้องถิ่นไม่เหมือนกับที่อยู่ในเครื่องระยะไกล (ไม่มีในเครื่องระยะไกลที่มีอยู่ในเครื่องของฉัน)

คำตอบ:


3

มองไปที่ลิงค์มันดูเหมือนจะตรงกันข้ามกับสิ่งที่ฉันจะทำตามปกติ อ่านลิงค์นี้: http://wp.uberdose.com/2006/10/16/ssh-automatic-login/เกี่ยวกับการตั้งค่า การใช้ ssh-copy-id ทำให้สิ่งต่างๆง่ายขึ้น

สามารถทำได้ด้วย 2 คำสั่งจากเครื่องไคลเอนต์:

ssh-keygen -t dsa
ssh-copy-id -i id_dsa user@remotehost

0

คุณต้องทำตามขั้นตอนที่ให้ไว้ในลิงค์ เพื่อที่จะไม่ขอรหัสผ่าน


ฉันต้องมีสิทธิ์รูทสำหรับสิ่งนี้บนเครื่องระยะไกลหรือไม่

ไม่ ... หากคุณมี ID ที่คุณสามารถเข้าสู่ระบบได้คุณสามารถทำตามขั้นตอนที่กล่าวไว้ในลิงค์

ดังนั้นฉันเดาว่าเครื่องของฉันเป็นลูกค้าและเครื่องที่ฉันคัดลอกไปเป็นเซิร์ฟเวอร์หรือไม่

ฉันลองแล้ว แต่ใช้งานไม่ได้โปรดดูการอัปเดตของฉัน

หากคุณต้องการถ่ายโอนไฟล์จากกล่อง A ไปยังกล่อง B จากนั้นสร้างคีย์ในกล่อง A จากนั้นเพิ่มคีย์ลงในไฟล์ authorised_keys ในกล่อง B ดังนั้นเมื่อคุณเชื่อมต่อจากกล่อง A ไปยังกล่อง B คุณไม่จำเป็นต้องพิมพ์รหัสผ่าน โปรดยืนยันว่าคุณได้ทำตามข้างต้นแล้ว
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.