使用SCP命令传输图片

1. 简介

scp是一个linux命令行命令,基于ssh连接方式,可用于同一局域网下两台计算机之间传输文件和文件夹。但由于这个命令连接时需要进行ssh密钥验证,验证时间较长(零点几秒),所以要避免高频率反复连接(那样会很慢)。

2. ssh密钥认证

计算机A要与计算机B通过ssh密钥进行免密登录
计算机A首先生成ssh密钥和公钥,然后将公钥发送给计算机B接收。然后这两台电脑就完成密钥认证了,可以通过ssh免密登录
详细方法见ssh免密钥登录(两种方法) 免秘钥linux系统ssh免密钥登录配置

3. scp传输文件或文件夹

一般来说,使用scp传输文件需要输入目标电脑的用户名和密码,但是配置完ssh密钥认证之后就不需要了。

常用语法:

1. 文件拷贝到目录
scp local_file_path remote_username@remote_ip:remote_folder 
2. 目录拷贝到目录
scp local_folder remote_username@remote_ip:remote_folder 
3. 文件拷贝到文件
scp local_file_path remote_username@remote_ip:remote_file_path 

详细使用方法可自行上网搜索或者见Linux scp命令

4. python程序调用scp命令传输图片

文件夹拷贝到文件夹的python程序如下:

import subprocess
def send_img(remote_folder = folder,remote_username = username,remote_ip=ip):
    '''
    程序功能:将图片从机载电脑发送到地面段笔记本\n
    remote_folder:远程主机保存图片的文件夹(也就是接收到的图片在地面端笔记本上的保存路径)\n
    remote_username:远程主机用户名(地面端笔记本ubuntu用户名)\n
    remote_ip:远程主机ip地址(地面端笔记本ip地址)\n
    
    '''
    # 构造scp命令
    scp_command = f'scp -r {img_save_path} {remote_username}@{remote_ip}:{remote_folder}'
    # 使用pexpect执行scp命令
    subprocess.run(scp_command,shell=True)

该程序用到的所有参数都集成到了params.py文件中,方便修改和调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值