SCP实现无需密码传输文件
SCP概述
Linux为我们提供了两个用于文件copy的命令,一个是cp,一个是scp,但是他们略有不同
CP ----- 主要是用于在同一台电脑上,在不同的目录之间来回copy文件
SCP --- 主要是在不同的Linux系统之间来回copy文件
下面我们就主要讲一下SCP命令的基本用法:
scp 传输文件路径 用户名@传输文件目标IP:目标路径(可以指定新的文件名)
在Linux环境下,两台主机之间传输文件一般使用scp命令,通常用scp命令通过ssh获取对方linux主机文件的时候都需要手动输入密码确认。

最近的一个项目中就遇到了这个问题,利用os模块的os.system()来执行系统命令来完成定时任务,我们不可能手动输入密码,而应该实现无密传输,我们可以通过建立信任关系,可以实现不输入密码而进行数据传输。
假设俩个服务器A:192.168.111.100,服务器B:192.168.111.101之间进行数据传输:
1、在主机A上执行如下命令来生成配对密钥: (按照提示操作,注意,不要输入passphrase,一直回车完成)
ssh-keygen -t rsa

2、查看B主机上面是否存在authorized_keys文件,如果没有此文件, 将A主机.ssh 目录中的 id_rsa.pub 文件复制到 主机B 的 ~/.ssh/ 目录中,并改名为 authorized_keys
scp .ssh/id_rsa.pub 192.168.111.101:/root/.ssh/authorized_keys
如果B主机上存在authorized_keys文件,则需注意,这个文件可以包含多个SSH验证信息,这时先把id_rsa.pub文件传到B主机的/root/.ssh目录下面(重新命名文件名),然后再利用 cat >>命令将验证文件内容附加上去
比如复制到scp .ssh/id_rsa.pub 192.168.111.101:/root/.ssh/a.pub 然后执行cat ~/.ssh/a.pub >> ~/.ssh/authorized_keys
SCP实现无需密码传输文件的更多相关文章
- Linux scp 免密码 传输文件
Linux scp 免密码 传输文件 背景介绍 最近项目是集群化部署(由 node1,node2,node3 三台 CentOS 7.4 的虚拟机构成). 但是,涉及到跨机器同步文件的问题,想通过写s ...
- Linux下用SCP无需输入密码传输文件
在Linux环境下,两台主机之间传输文件一般使用scp命令,通常用scp命令通过ssh获取对方linux主机文件的时候都需要输入密码确认. 不过通过建立信任关系,可以实现不输入密码. 这里假设A的IP ...
- linux命令(28):Linux下SCP无需输入密码传输文件,python 中scp文件
python 中scp文件:(如果下面的发送免密码已经完成的话,就直接能用下面这个) os.system('scp "%s" "%s:%s"' % (" ...
- 使用SCP在命令行传输文件
下载远程服务器上的文件 scp root@10.0.10.10:/home/user/download.txt ./download.txt 上传文件到远程服务器 scp ./upload.t ...
- shell脚本中如何使scp不输入密码即可传输文件
答:使用ssh密钥对 示例如下: 如果A机想要获取B机上的文件,那么需要将在A机上生成的公钥放置到B机上的指定位置~/.ssh/authorized_keys 问题一: 如何在A机上生成ssh密钥对? ...
- expect+scp传输文件发现文件丢失
背景 使用expect+scp去跨机器传输文件,(别问我为什么,因为公司的测试机器都是通过堡垒机的,无法绕开堡垒机,只能暂时使用这个方法了),结果发现从A传递到B的tar.gz文件大小不一致了的,当时 ...
- Python不同电脑之间传输文件实现类似scp功能不输密码
SCP vs SFTP 通过paramiko还可以传输文件,如何通过paramiko在计算机之间传输文件,通过阅读官方文档,发现有如下两种方式: sftp = paramiko.SFTPClient. ...
- scp传输文件,自动填充密码
一个偷懒的小shell, #!/usr/bin/expect #******************************************************************** ...
- SCP,scp linux2台机器之间如何传输文件
关键词:scp 转自: http://blog.csdn.net/gatieme https://blog.csdn.net/gatieme/article/details/51673229 scp传 ...
随机推荐
- ios数据存储——对象归档
归档:数据从内存与闪存相互转化,类似“序列化”,将数据转换成二进制字节数据 操作:有两种方式,第一种是单个对象作为root进行归档和恢复,一个对象一个文件:第二种,可以同时归档多个对象到一个文件 注意 ...
- 使用ExecutorCompletionService 管理线程池处理任务的返回结果
在我们日常使用线程池的时候,经常会有需要获得线程处理结果的时候.此时我们通常有两种做法. 1. 使用并发容器将callable.call() 的返回Future存储起来.然后使用一个消费者线程去遍历这 ...
- linux设置好IP后,可以访问内网,不能访问外网
1,设置网卡,ip vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为et ...
- 对js原型对象的拓展和原型对象的重指向的区别的研究
我写了如下两段代码: function Person(){} var p1 = new Person(); Person.prototype = { constructor: Person, name ...
- 如何使用php session
学会php session可以在很多地方使用,比如做一个后台登录的功能,要让程序记住用户的session,其实很简单,看了下面的文章你就明白了. PHP session用法其实很简单它可以把用户提 ...
- PHP的一些 有用但不常用的函数记录
1. microtime() 当前 Unix 时间戳以及微秒数. <?php $mem = new Memcache; $mem->connect("127.0.0.1" ...
- js原生设计模式——4安全的工厂方法模式之Factory方法模式
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- [转]编写高性能的Lua代码
昨天晚上闲来无事,看室友在电脑上挂机玩游戏,用的一个辅助脚本,以为是lua写的脚本在跑,实际调查发现是按键精灵的脚本. 于是在网上找相关Lua开发游戏脚本的案例,看到一个人的博客,内容很不错,学到了很 ...
- easyUI droppable组件使用
easyUI droppable组件使用: <!DOCTYPE html> <html lang="en"> <head> <meta c ...
- 部署AlwaysOn第一步:搭建Windows服务器故障转移集群
在Windows Server 2012 R2 DataCenter 环境中搭建集群之前,首先要对Windows服务器故障转移集群(Windows Server Failover Cluster,简称 ...