Sto provando a utilizzare Paramiko per connettersi a un server SSH da Python. Questo è quello che ho provato finora:Paramiko - utilizzando il file di chiave privata crittografato su OS X
>>> import paramiko
>>> import os
>>> privatekeyfile = os.path.expanduser('~/.ssh/id_rsa')
>>> mykey = paramiko.RSAKey.from_private_key_file(privatekeyfile)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/paramiko/pkey.py", line 198, in from_private_key_file
key = cls(filename=filename, password=password)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/paramiko/rsakey.py", line 51, in __init__
self._from_private_key_file(filename, password)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/paramiko/rsakey.py", line 163, in _from_private_key_file
data = self._read_private_key_file('RSA', filename, password)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/paramiko/pkey.py", line 280, in _read_private_key_file
data = self._read_private_key(tag, f, password)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/paramiko/pkey.py", line 323, in _read_private_key
raise PasswordRequiredException('Private key file is encrypted')
paramiko.PasswordRequiredException: Private key file is encrypted
Come si può vedere, non funziona perché la mia chiave privata è crittografata. Tuttavia, la password è memorizzata nel mio portachiavi di login di OS X, e quando scrivo ssh host
non la chiederà (piuttosto, chiede solo una volta, quindi la ricorda fino al prossimo riavvio). C'è un modo per fare paramiko
usare la password/recuperarla dal portachiavi, come fa ssh
?
Ho finito con la creazione di una nuova coppia di chiavi che non aveva una password e l'ho usata, ma accettando ciò poiché ciò avrebbe funzionato probabilmente – houbysoft
Questa era la mia soluzione di fronte a questa situazione @houbysoft ... è solo non ha risposto alla domanda :-). – Ben
Quindi, la password viene utilizzata come decifrare la matrice della passphrase? perché l'ho appena provato e non ha funzionato! –