温馨提示×

Ubuntu系统中Paramiko怎么配置

小樊
83
2024-09-27 06:01:09
栏目: 智能运维

在Ubuntu系统中配置Paramiko,主要涉及到安装Paramiko库以及设置SSH密钥对进行身份验证。以下是详细的步骤:

安装Paramiko

  1. 打开终端(Terminal)。

  2. 输入以下命令来更新软件包列表:

    sudo apt-get update
    
  3. 接下来,使用以下命令安装Paramiko库:

    sudo apt-get install python3-paramiko
    

配置和使用Paramiko

  1. 创建SSH密钥对(如果尚未创建):

    • 在终端中输入以下命令来生成一个新的SSH密钥对:

      ssh-keygen -t rsa
      

      这将在你的用户目录下的.ssh文件夹中生成一个名为id_rsa(私钥)和id_rsa.pub(公钥)的文件。

  2. 将公钥添加到远程服务器

    • 使用以下命令复制公钥到远程服务器的~/.ssh/authorized_keys文件中(请确保替换<username><remote-server-ip>为实际的用户名和远程服务器IP地址):

      ssh-copy-id <username>@<remote-server-ip>
      

      输入远程服务器的密码后,你的公钥就会被添加到远程服务器的授权密钥列表中。

  3. 使用Paramiko进行SSH连接

    • 在Python脚本中,你可以使用以下代码来建立SSH连接并使用私钥进行身份验证(请确保已安装Paramiko库):

      import paramiko
      
      # 创建SSH客户端
      client = paramiko.SSHClient()
      
      # 设置一个默认的策略来接受不在本地known_hosts文件中的主机密钥
      client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
      
      # 使用私钥连接到SSH服务器
      private_key = paramiko.RSAKey.from_private_key_file('/path/to/your/id_rsa')
      client.connect('hostname', username='username', pkey=private_key)
      
      # 执行命令
      stdin, stdout, stderr = client.exec_command('ls')
      
      # 获取命令输出
      output = stdout.read().decode('utf-8')
      error_output = stderr.read().decode('utf-8')
      
      # 关闭连接
      client.close()
      
      print('Output:', output)
      if error_output:
          print('Error:', error_output)
      

      请确保将/path/to/your/id_rsa替换为你实际的私钥文件路径,并根据需要更改主机名、用户名和要执行的命令。

通过以上步骤,你应该能够在Ubuntu系统中成功配置并使用Paramiko进行SSH连接。

0