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传 ...
随机推荐
- 使用Emacs中的org-mode写cnblogs之图片插入
.title { text-align: center; margin-bottom: .2em } .subtitle { text-align: center; font-size: medium ...
- php包管理工具最基本的一些问题
windows下的 1.先安装windows下的set-up程序 点击一步步的, cmd进入,输入composer能成功显示一幅图说明安装成功 2.在下载,https://getcomposer.or ...
- javascript-array函数实例
<script type="text/javascript"> window.onload = function () { // body... var aNew = ...
- iOS 界面布局,设置约束
1. 设置控件的宽度是父视图的宽度的1/2 在控件上按住ctrl,按住鼠标左键,拖动到父视图,这时出来一个选项,选中aspect 在Multiplier中填上1:2 即可,其它的比例也是这样 2. 设 ...
- UVa 10427 - Naughty Sleepy Boys
题目大意:从1开始往后写数字,构成一个如下的字符串 123456789101112... .求第n位的数字是多少. 找规律,按数字的位数可以构建一个类似杨辉三角的东西,求出第n位是哪个数的第几位即可. ...
- Python常见数据结构整理
Python中常见的数据结构可以统称为容器(container).序列(如列表和元组).映射(如字典)以及集合(set)是三类主要的容器. 一.序列(列表.元组和字符串) 序列中的每个元素都有自己的编 ...
- linux系统安装iprouter
在上文中将mpls编译进了linux内核,现在需要安装iprouter,安装过程如下: 1) 下载两个文件iproute2-2.6.39.tar.gz和iproute2-v2.6.39-mpls.pa ...
- 云脉推出表格识别API接口可以自助接入
针对如今市场上对于海量票据信息的录入需求,近期厦门云脉技术有限公司推出票据识别相关的产品与服务,更是在云脉OCR SDK开发者平台上上线表格识别API接口,供广大开发者和集成商自助接入.为了降低财务系 ...
- centos 6.5下cmake工具的安装与配置
一.cmake是什么? CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程).他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C+ ...
- C++第五天学习
回顾: 1.友元 friend 2.运算符重载 类型 operator运算符(参数表) 抽象.封装 类是面向对象程序设计中最基本的概念 类的背后隐藏的思想是数据抽象和封装 是进行封装和数据隐藏的工具, ...