它是通过 paramiko 进行无密码连接的代码,当我运行此代码时,它显示 RSA 私有文件无效,它是什么以及如何解决此问题
请解释最后第三行的含义如何在 Windows 中生成密钥我提供下面的代码请帮助
代码:
#get IP and username for remote access
IP = input("Enter host_server IP: ").split()
username = input("Enter username: ").split()
#create a file on host_server for file
file_a = open(date+"file.txt", "a") #ignore the date variable
file = str(date+"file.txt")
import paramiko
import os
privatekeyfile = os.path.expanduser('~/.ssh/id_rsa')
mykey = paramiko.RSAKey.from_private_key_file(privatekeyfile)
ssh.connect(IP[0], username = user[0], pkey = mykey)
您需要创建一个SSH 密钥对,其中包含一个私钥和公钥。
私钥应该安全地存储在您自己的计算机上,默认情况~/.ssh/id_rsa
下在 Linux 下或C:\users\your_name\.ssh\id_rsa
Windows 下,但您可以在同一目录中使用不同的文件名,以便稍后知道它是哪个密钥(您可能需要创建更多SSH 密钥在未来)。这是 paramiko 使用的文件。
应将公钥复制到服务器。这是如何完成的取决于您的设置。如果它是您自己的 SFTP 服务器,您可能可以使用 SSH 或 SCP 来做到这一点。您也可以通过 Web 界面执行此操作。有关详细信息,请参阅 SFTP 服务器/服务的手册。
SSH 密钥对可以使用ssh-keygen
. 在 Linux 上,这可能已经安装。在 Windows 中,如果您安装了 PuTTY,您可能会拥有它。
如果您不知道如何创建密钥,请搜索“生成 ssh 密钥对”或类似内容以获取有关如何创建密钥的更多信息。有许多网站描述了如何做到这一点。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句