Python

linux 远程上传下载文件及远程启动程序

2018-07-12  本文已影响7人  时尚灬IT男

第一步安装ssh

1.查看ssh服务的状态

输入以下命令:

sudo service sshd status

如果出现

Loaded: error (Reason: No such file or directory)

提示的话,说名没有安装ssh服务,按照第二步:安装ssh服务。

如果出现

Active: inactive (dead)

说明已经安装了ssh服务,但是没有开启。按照第三步:开启ssh服务。

2安装ssh服务

安装ssh命令:

如果你用的是redhat,fedora,centos等系列linux发行版,那么敲入以下命令:

sudo yum install sshd

或者

sudo yum install openssh-server(由osc网友 火耳提供)

如果你使用的是debian,ubuntu,linux mint等系列的linux发行版,那么敲入以下命令:

sudo apt-get install sshd

或者

sudo apt-get install openssh-server(由osc网友 火耳提供)

然后按照提示,安装就好了。

3.开启ssh服务

在终端敲入以下命令:

sudo service sshd start

执行完命令后,用第一步:查看ssh服务状态的命令,如果出现以下提示

Active: active (running) since Sun 2013-04-07 13:43:11 CST; 15s ago

说明你的ssh服务已经启动了。如果失败来的话,那试着卸载一下(看第六步:卸载ssh服务)再安装(第二部:安装ssh服务)。

4.使用ssh服务

使用ssh服务跟使用ftp服务一样,推荐安装putty(一款远程登陆工具)来登陆本地主机。安装命令与第二步:安装ssh服务相同,只是把sshd换成putty即可。

安装putty完成后,使用以下命令远程登陆:

putty ip/hostname

其中ip/hostname为你的ssh主机的ip地址或者主机名

比如我的ip地址为192.168.1.103,那么我可以使用 putty 192.168.1.103来登陆我的主机。

5.卸载ssh服务

如果你用的是redhat,fedora,centos等系列linux发行版,那么敲入以下命令:

sudo yum remove sshd

如果你使用的是debian,ubuntu,linux mint等系列的linux发行版,那么敲入以下命令:

sudo apt-get –purge remove sshd

然后就会提示卸载完成。

第二步sftp上传下载

粗体部分为需要根据实际情况填写的变量

hostname:IP或主机名(远程的机器)

22:端口号(默认是22)

username:远程机器的用户名

password:远程机器的密码

dir_path:需要下载的远程机器上的路径

'config.xml':下载下来的重命名(可以加上绝对路径)

scp=paramiko.Transport((hostname,22))

scp.connect(username=username,password=password)

sftp=paramiko.SFTPClient.from_transport(scp)

sftp.get(dir_path, 'config.xml')

scp.close()

第三步远程启动程序

由于我这里是执行GUI程序所以命令中加了“export DISPLAY=:0;”

# 创建SSH对象

ssh = paramiko.SSHClient()

# 允许连接不在know_hosts文件中的主机

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 第一次登录的认证信息

# 连接服务器

ssh.connect(hostname='192.168.0.50', port=22, username='kingsun03', password='kingsun')

# 执行命令(用;隔开两条命令)

stdin, stdout, stderr = ssh.exec_command('export DISPLAY=:0;cd /home/test/test0704/test_v1_9/;./main_GUI')

#打印输出结果

res, err = stdout.read(), stderr.read()

result = resif reselse err

print(result.decode())

上一篇下一篇

猜你喜欢

热点阅读