远程控制快速命令_内网远程桌面客户端软件推荐

Դ微博

ߣ关键词推广

20

2021-11-11 23:37:57

如果我现在需要在Linux服务器上执行一系列命令(比如设置LNMP环境),我应该在第一时间想办法写一个Shell脚本,然后抛出去执行下面的结果。

但是,我总是很懒,我不想这样执行Shell和一些重复的命令。因此,我认为有一种方法可以直接在服务器端本地执行脚本,我想到了异端。这时,一位大师告诉我,有一个叫paramiko的Python库,打开了我新世界的大门。

远程控制的快捷命令(内网远程桌面控制软件推荐)

对于paramiko直接安装pip或者PyCharm,这里就不多说了。如果看到这个后觉得自己不太懂python语法,不用担心。您可以简单地使用paramiko执行Shell命令来查看结果并上传和下载文件,从而节省重复的工作。

Paramiko实现SSHv2协议(底层使用密码学),该协议包括两个核心组件:SSHClient和SFTPClient。SSHClient是SSH会话执行远程命令的封装,SFTPClient是SFTP客户端实现远程文件操作的封装。

这里有两个例子。你应该知道如何使用它们。最后,故事片开始了。

远程控制的快捷命令(内网远程桌面控制软件推荐)

ssh客户端的列:

# -*- coding: utf-8 -*-

导入paramiko

客户端=paramiko。SSHClient()#实例化SSHClient

client . set _ missing _ host _ key _ policy(paramiko . auto addpolicy())#自动添加策略保存服务器的主机名和密钥信息。如果不添加,不再记录在本地know_hosts文件中的主机将无法连接。

Client.connect(主机名=' 192.168.23.134 ',端口=22,用户名=' ftoz ',密码=' 123456') #连接SSH服务器并使用用户名和密码进行身份验证。

#打开频道并执行命令

Stdin,stdout,stderr=client . exec _ command(' ls ')# stdout是正确的输出,stderr是错误输出,一个变量有一个值。

#打印执行结果

print(stdout.read()。解码(' utf-8 ')

#关闭ssh客户端

client.close()

输出:

远程控制的快捷命令(内网远程桌面控制软件推荐)

这里有一个解释:

客户端=paramiko。SSHClient(),

client . set _ missing _ host _ key _ policy(paramiko . auto addpolicy())可以理解为一种固定的姿态。

Client.connect(主机名=' 192.168.1.105 ',端口=22,用户名=' ftoz ',密码=' 123456 ')下面是您的linux变量的顺序:地址、端口(总共65535个端口,但ssh默认为22个端口)、登录名和密码。

Stdin,stdout,stderr=client . exec _ command(' df-h ')下面是您需要执行的核心shell命令。这三个变量不一定要遵循这个姿势,你可以做任何你想做的事情,但你只需要知道其中有哪些数据是按顺序排列的(重点是输出和错误)。

Connect():用于连接和验证远程服务器。这些参数是:

主机名连接的目标主机

端口=SSH_PORT指定端口

用户名=无经过验证的用户名

密码=无经过身份验证的用户密码

Pkey=没有私钥用于身份验证。

密钥文件名=无指定私钥文件的文件名或文件列表。

超时=无可选的tcp连接超时

Allow_agent=True,是否允许连接ssh代理,默认值为True。

查找密钥=真是否在~/中搜索私钥文件。ssh,默认情况下是允许的。

压缩=假,是否打开压缩。

Set_missing_host_key_policy():这是在know_hosts文件中没有记录远程服务器时设置远程服务器的响应策略。(可以理解为避免出错),参数有:

AutoAddPolicy自动将主机名和主机密钥添加到本地HostKeys对象中,与load_system_host_key的配置无关。也就是说,当您新建立ssh连接时,不需要输入是或否进行确认。

WarningPolicy用于记录python对未知主机密钥的警告。和接受,功能类似于自动添加策略,但会提示这是一个新连接。

RejectPolicy自动拒绝未知的主机名和密钥,具体取决于load_system_host_key的配置。这是默认选项。

Exec_command():这是您需要执行的命令。

接下来,您可以取出输出,做一些关于做什么(ke)和做什么(pa)的事情。这里有一个简单的例子。

2020年精选了阿里/腾讯等一线厂商的面试、简历、进阶、电子书私聊。我免费回复了“资料”。

SFTPClient的常用方法:

T=paramiko。传输((' 192.168.23.134 ',22)) #获取传输实例。

T.connect(用户名=' ftoz ',密码=' 123456') #连接SSH服务器并使用密码。

sftp=paramiko。SFTPClient.from_transport(t)

Sftp.put ('f:s12312.txt ','/home/ftoz/zxc12312.txt') #执行上传操作。

sftp . get('/home/ftoz/zxc 12312 . txt ',' f:s12312.txt') #执行下载操作。

t.close()

作为sftp的客户端对象,sftpCLient根据ssh传输协议的SFTP会话实现远程文件操作,如上传、下载、权限和状态。

From_transport(cls,t)创建一个连接的SFTP客户端通道。

Put (localpath,remotepath,callback=none,confirm=true)将本地文件上传到服务器参数confirm:是否调用stat()方法检查文件状态并返回ls -l L的结果。

Get (remotepath,localpath,callback=none)从服务器本地下载文件。

Mkdir()在服务器上创建一个目录

Remove()删除服务器上的目录。

重命名()重命名服务器上的目录。

Stat()查看服务器文件状态

List()列出服务器目录中的文件。

最后,养成和你亲近的好习惯。client.close()。

佭ϴý Ѷ Media8ý

在线客服

外链咨询

扫码加我微信

微信:juxia_com

返回顶部