pythonic เป็นวิธีที่ดีที่สุดในการสแกนไฟล์ใน Python คืออะไร? เส้นทางเดียวที่ฉันรู้คือ
os.system('scp "%s" "%s:%s"' % (localfile, remotehost, remotefile) )
ซึ่งเป็นแฮ็กและไม่ทำงานนอกระบบเหมือน Linux และต้องการความช่วยเหลือจากโมดูล Pexpect เพื่อหลีกเลี่ยงการแจ้งรหัสผ่านเว้นแต่คุณตั้ง SSH ไร้รหัสผ่านไว้ที่รีโมตโฮสต์แล้ว
ฉันรู้เรื่อง Twisted conch
แต่ฉันต้องการหลีกเลี่ยงการใช้ scp เองผ่านโมดูล ssh ระดับต่ำ
ฉันรู้paramiko
แล้วว่าเป็นโมดูล Python ที่รองรับ SSH และ SFTP แต่มันไม่รองรับ SCP
ความเป็นมา: ฉันกำลังเชื่อมต่อกับเราเตอร์ที่ไม่รองรับ SFTP แต่รองรับ SSH / SCP ดังนั้น SFTP จึงไม่ใช่ตัวเลือก
แก้ไข : นี่เป็นสิ่งที่ซ้ำกันของวิธีการคัดลอกไฟล์ไปยังเซิร์ฟเวอร์ระยะไกลใน Python โดยใช้ SCP หรือ SSH? . อย่างไรก็ตามคำถามนั้นไม่ได้ให้คำตอบเฉพาะ SCP ที่เกี่ยวข้องกับคีย์จากภายใน Python ฉันหวังว่าจะมีวิธีเรียกใช้โค้ดที่คล้ายกัน
import scp
client = scp.Client(host=host, user=user, keyfile=keyfile)
# or
client = scp.Client(host=host, user=user)
client.use_system_keys()
# or
client = scp.Client(host=host, user=user, password=password)
# and then
client.transfer('/etc/local/filename', '/etc/remote/filename')
scp
เรียกscp
บรรทัดคำสั่งที่ใช้งานได้จริงบน * nix เท่านั้น