Python------Linux远程连接

目录

使用Python通过SSH登录Linux主机实现查看和上传文件的功能

实现python编写代码远程登录linux主机,执行一条命令ls

代码示例:

结果展示:

Linux界面展示:

​编辑实现python编写代码远程给linux主机上传一个文件

结果展示:

总结:

1.PermissionError:

2.FileNotFoundError:


使用Python通过SSH登录Linux主机实现查看和上传文件的功能

Python提供了一个名为paramiko的库,可以通过这个库来实现python对Linux的远程登录和管理

实现python编写代码远程登录linux主机,执行一条命令ls

代码示例:
import paramiko

class SSHClient:
    def __init__(self, host, port, username, password):
        self.host = host
        self.port = port
        self.username = username
        self.password = password
        self.client = paramiko.SSHClient()
        self.client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

    def connect(self):
        try:
            self.client.connect(self.host, port=self.port, username=self.username, password=self.password)
            print("Connected to", self.host)
        except paramiko.AuthenticationException:
            print("Authentication failed when connecting to", self.host)
        except Exception as e:
            print("Error:", e)

    def execute_command(self, command):
        stdin, stdout, stderr = self.client.exec_command(command)
        return stdout.read().decode()

    def close(self):
        self.client.close()

    def upload_file(self, local_file_path, remote_file_path):
        pass


# 使用示例
if __name__ == "__main__":
    # 修改下面的参数为你的Linux主机的实际信息
    host = "192.168.44.135"
    port = 22  # 默认SSH端口
    username = "root"
    password = "*********"

    ssh_client = SSHClient(host, port, username, password)
    ssh_client.connect()

    #执行ls - l命令
    result = ssh_client.execute_command("ls -l")
    print("Result of 'ls -l' command:", result)



    #文件传输
    local_file_path = "ceshi.txt"
    remote_file_path = "/root/ceshi.txt"

    ssh_client.upload_file(local_file_path, remote_file_path)
    print(f"File '{local_file_path}' uploaded to '{host}:{remote_file_path}'")

    ssh_client.close()
结果展示:

Linux界面展示:


实现python编写代码远程给linux主机上传一个文件

代码同上:

结果展示:

总结:

当通过Python使用Paramiko库远程上传文件到Linux主机时,你需要注意以下几点:

1.PermissionError:

如果出现PermissionError,可能是因为你的Python脚本运行时没有足够的权限来访问和写入目标路径。确保你的Python脚本运行时使用的用户具有访问和写入目标路径的权限。


2.FileNotFoundError:

如果出现FileNotFoundError,可能是因为Paramiko在尝试在本地文件系统上查找特定路径时遇到问题。确保你提供的本地文件路径是正确的,并且指向一个有效的文件。
错误处理: 在使用Paramiko时,始终确保适当地处理可能出现的错误,例如认证失败、连接失败等。
通过遵循这些指导原则,你可以顺利地使用Python和Paramiko库进行远程文件上传到Linux主机,而不会遇到太多问题。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值