Linux scp 免密码 传输文件

Linux scp 免密码 传输文件


背景介绍

最近项目是集群化部署(由 node1,node2,node3 三台 CentOS 7.4 的虚拟机构成)。

但是,涉及到跨机器同步文件的问题,想通过写shell文件实现,用 crontab 设置定时任务,定时执行改脚本。

由于每次都需要输入密码,导致定时任务没法正常工作,因此,需要三台机器之间可以免密码互相访问。


建立SSH的信任关系

以实现 node1 免密码给 node2 scp传输文件为例说明,需要如下几个步骤:

1、生成 node1 的秘钥(私钥和公钥)

1)进入 node1 的 /root/.ssh 目录

cd /root/.ssh/

2)执行如下命令,生成公钥和私钥(此时,一路回车即可)

ssh-keygen -t rsa

其中,id_rsa 是私钥,id_rsa.pub 是公钥。

2、将 node1 的 id_rsa.pub中的内容追加到 node2 的authorized_keys 认证文件中

1)将 node1 的公钥(id_rsa.pub)信息,输出到临时认证文件  authorized_keys_node1 中

cat id_rsa.pub >authorized_keys_node1

2)将 authorized_keys_node1 文件 scp 到 /root/.ssh/ 目录下

scp authorized_keys_node1 [email protected]:/root/.ssh/

3)登录到node2节点,进入 /root/.ssh目录

cd /root/.ssh/

4)将 node1 的公钥信息,追加到 node2 的认证文件(authorized_keys)中

cat authorized_keys_node1 >>authorized_keys

至此,node1 到 node2 的信任关系建立好了,node1 scp文件到 node2,就不在需要输入密码验证了。

其他机器之间的信任关系,如有需要,可以依此方法进行配置。


【额外说明】

1、上面用到了 Shell 的 > 和 >>,因为使用场景不同。

如有不清楚二者异同点的同学,可以参考博文:https://www.cnblogs.com/miracle-luna/p/11809725.html

2、文中提到的 id_rsa 和 id_rsa.pub 中的 rsa,是指的 RSA加密算法。

RSA加密算法是一种非对称加密算法。在公开密钥加密电子商业中RSA被广泛使用。RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。

对极大整数做因数分解的难度决定了RSA算法的可靠性。换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠。假如有人找到一种快速因数分解的算法的话,那么用RSA加密的信息的可靠性就肯定会极度下降。但找到这样的算法的可能性是非常小的。今天只有短的RSA钥匙才可能被强力方式解破。到目前为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的。

原文地址:https://www.cnblogs.com/miracle-luna/p/11809746.html

时间: 2024-10-06 02:32:09

Linux scp 免密码 传输文件的相关文章

Linux SCP命令复制传输文件的用法

SCP命令是用户通过网络将一台Linux服务器的文件复制到另一台Linux服务器,方法如下: 一:从本地复制到远程 复制文件: 命令格式: scp local_file [email protected]_ip:remote_folder 例子: scp /home/space/music/1.mp3 [email protected]:/home/root/others/music scp /home/space/music/1.mp3 [email protected]:/home/root

scp免密码传送文件

一.单向 ssh-keygen -t rsa 单向无密码访问远程服务器操作比较简单,比如服务器A需要无密码访问服务器B(A–>B),那么只需要在服务器A生成密钥对,将生成的公钥上传到服务器B的相关用户目录下的.ssh目录中(没有的话手动创建,注意,它的目录权限是700),并将公钥文件名称改为authorized_keys(注意,这个文件的权限应该是644),请注意.ssh目录及authorized_keys文件的权限,权限不符,会使配置无效. 二.双向 将本机的id_rsa.pub文件中的内容加

使用scp免密码服务器间传递文件

1.a服务器下运行命令  ssh-keygen -t rsa 2.三个回车 3.在用户的目录下 ~/.ssh/产生两个文件,id_rsa,id_rsa.pub 4.把a服务器下对应的文件拷贝到b服务器 并重命名为 authorized_keys scp /root/.ssh/id_rsa.pub [email protected]:/root/.ssh/authorized_keys scp 命令: scp命令说明 scp – 安全复制 (远程文件复制工具) 语法: scp [-1245BCpq

securecrt在linux与windows之间传输文件(转)

摘自:http://blog.csdn.net/rangf/article/details/6096365 SecureCRT这款SSH客户端软件同时具备了终端仿真器和文件传输功能.比ftp命令方便多了,而且服务器不用再开FTP服务了.rz,sz是便是Linux/Unix同Windows进行ZModem文件传输的命令行工具. windows端需要支持ZModem的telnet/ssh客户端,SecureCRT就可以用SecureCRT登陆到Unix/Linux主机(telnet或ssh均可).

Hadoop 1.2.1 安装笔记01 : Linux 与免密码

目标: 配置一个hadoop 1.2.1 测试环境  用的JDK是: jdk-7u65-linux-x64.gz 选的hadoop 是: hadoop-1.2.1.tar.gz 均来源Apache和oracle网站 主机规划: Linux版本 :  Centos 6.5 x64位  /boot:用来存放与Linux系统启动有关的程序,比如启动引导装载程序等,建议大小为100MB. /usr:用来存放Linux系统中的应用程序,其相关数据较多,建议大于3GB以上. /var:用来存放Linux系统

Linux系统远程服务器传输文件

本篇文章内容介绍本地计算机与linux远程服务器之间传输文件 本地计算机与linux远程服务器之间传输文件 准备 1.一台远程服务器(需要登录的账号和密码) 2.一台能正常连上互联网的本地计算机 3.下载安装xftp软件 xftp软件下载地址https://www.netsarang.com/zh/xftp/ 打开xftp软件 新建会话 点击确定,连接,就可以把本地文件上传到服务器中了 原文地址:https://www.cnblogs.com/tigertank/p/11612672.html

5-1Expect实现scp非交互传输文件

使用位置参数一定要计划好,他碰到什么东西该怎么走.expect实现scp非交互传输文件(参数要不要传看自己的情况)往往使用expect只打前战: 原文地址:http://blog.51cto.com/5450935/2096518

Linux下用SCP无需输入密码传输文件

最近发现一个很吓人的事情,备份服务器里的备份目录下竟然没有备份文件,仔细一看原来是scp命令需要密码的问题.之前建立过信任关系,可能是因为修改了root密码,不成功了.下面说下具体操作.通常用scp命令通过ssh获取对方linux主机文件的时候都需要输入密码确认,不过通过建立信任关系,可以实现不输入密码. 这里假设需要备份的服务器 S 的IP:192.168.0.1用作备份的服务器 B 的 IP:192.168.0.2 需要从A免密码输入复制文件至B. 1. 在服务器 S 上执行如下命令来生成配

SCP实现无需密码传输文件

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