Python'da bir dosyayı scp etmenin en pythonic yolu nedir? Fark ettiğim tek rota
os.system('scp "%s" "%s:%s"' % (localfile, remotehost, remotefile) )
ki bu bir hack'tir ve Linux benzeri sistemlerin dışında çalışmaz ve uzak ana bilgisayara önceden şifresiz SSH ayarlanmamışsa şifre istemlerinden kaçınmak için Pexpect modülünden yardıma ihtiyaç duyar.
Twisted'in farkındayım conch
, ancak scp'yi düşük seviyeli ssh modülleriyle uygulamaktan kaçınmayı tercih ederim.
paramiko
SSH ve SFTP'yi destekleyen bir Python modülü olduğunun farkındayım ; ancak SCP'yi desteklemez.
Arka plan: SFTP'yi desteklemeyen ancak SSH / SCP'yi destekleyen bir yönlendiriciye bağlanıyorum, bu nedenle SFTP bir seçenek değil.
EDIT : Bu bir dosyayı SCP veya SSH kullanarak Python uzak bir sunucuya kopyalamak nasıl? . Ancak , bu soru Python içindeki anahtarlarla ilgilenen scp'ye özel bir cevap vermez. Ben kod tür çalıştırmak için bir yol umuyorum
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
çağıran bir sürü kod varscp
.