를 통해 RSA 키 쌍을 sudo ssh-keygen -t rsa -b 4096
만들고 .ssh
폴더에 복사했습니다 . Python paramiko 패키지를 사용하고 있습니다. 내 코드는 다음과 같습니다.
import paramiko
k = paramiko.RSAKey.from_private_key_file('/home/username/.ssh/id_rsa', password='mypassphrase')
s = paramiko.SSHClient()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
conn = s.connect('remote_computer', username ='username', port=22, key_filename =k)
command = 'sudo python ~/pythonscript.py'
(stdin, stdout, stderr) = s.exec_command(command)
s.close()
하지만 코드를 실행하려고하면 다음과 같은 오류와 역 추적이 나타납니다.
Traceback (most recent call last):
File "pythonparamikoscript.py", line 6, in <module>
conn = s.connect('remote_computer', username ='username', port=22, key_filename =k)
File "/usr/lib/python2.7/dist-packages/paramiko/client.py", line 307, in connect
look_for_keys, gss_auth, gss_kex, gss_deleg_creds, gss_host)
File "/usr/lib/python2.7/dist-packages/paramiko/client.py", line 441, in _auth
for key_filename in key_filenames:
TypeError: 'RSAKey' object is not iterable
이로 인해 절망적이므로 도움을 주시면 감사하겠습니다.
connect () 는 다른 인수를 허용합니다.
pkey (PKey)
키를 할당해야하는 곳입니다.key_filename (str)
키의 위치가 포함 된 문자열입니다.그래서 달리기
conn = s.connect('remote_computer', username ='username', port=22, pkey=k)
일을해야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다