Linux两台主机之间建立信任
很多时候,我们需要在两台Linux/Unix主机之间拷贝文件(夹),但需要手动输入密码
例如备份服务端(sysadmin)数据库文件到客户端(yanggang),提示需要输入密码!
sysadmin@host:~/.ssh$ scp /home/sysadmin/top800/top800_database.sql yanggang@192.168.1.22:/home/yanggang/top800/
yanggang@192.168.1.22's password:
如果编写脚本进行数据自动备份,很显然手动输入密码不靠谱
因此,我们需要寻找双机拷贝数据时,自动输入密码或不需要输入密码的方法
于是,Linux通过公钥和密钥,建立双机之间信任关系,不需输入密码,解决了这个问题
Linux/Unix双机建立信任
1 分别在服务端(sysadmin)和客户端(yanggang),进入.ssh目录
下面以客户端(yanggang)为例:
cd ~/.ssh
2 执行生成密钥命令
ssh-keygen -t rsa
3 查看~/.ssh生成密钥的文件
其中,id_rsa为密钥; id_rsa.pub为公钥
4 客户端(yanggang)对服务端(sysadmin)建立信任关系
scp yanggang@192.168.1.22:/home/yanggang/.ssh/id_rsa.pub authorized_keys
yanggang@192.168.1.22's password:
即:把客户端的公钥(id_rsa.pub)拷贝到服务端(sysadmin),并修改id_rsa.pub 为 authorized_keys
此时需要输入密码(之前未建立信任关系),建立了客户端到服务端的信任关系后,客户端就可以不用再输入密码,就可以从服务端拷贝数据(如下步骤5)
5 服务端(sysadmin)对客户端(yanggang)建立信任关系
scp sysadmin@192.168.1.11:/home/sysadmin/.ssh/id_rsa.pub authorized_keys
此时,已经不用数据密码,就可以直接从服务端拷贝文件(id_rsa.pub)
至此,服务端从客户端拷贝数据也不用再数据密码了(如上步骤4再拷贝,就不需再输入密码了)
scp yanggang@192.168.1.22:/home/yanggang/.ssh/id_rsa.pub authorized_keys
没有yanggang@192.168.1.22's password:
6 测试(备份服务端的数据库到客户端)
scp /home/sysadmin/top800/top800_database.sql yanggang@192.168.1.22:/home/yanggang/top800/
双机之间拷贝文件,不再需要输入密码了
双机信任关系已经建立!
------------------------------------
有朋友问到多台主机,如何建立信任关系?
测试环境:
服务端: RedHat Server 5.2
客户端1: Ubuntu 10.10 (32bit)
客户端2: Ubuntu 11.10 (64bit)
具体步骤:
如上“双机信任关系”类似,只需要把“步骤4”中客户机的公钥(id_rsa.pub)拷贝到服务端(authorized_keys)
即复制、粘贴到authorized_keys文件后面,命令如下:
echo id_rsa.pub_one >> authorized_keys (客户机one)
echo id_rsa.pub_two >> authorized_keys (客户机two)
其中,authorized_keys 为服务端的,格式如下:
知识拓展:
scp不需要密码
配置主机间信任的一个简单办法
转载于:https://www.cnblogs.com/springside4/archive/2011/11/16/2481596.html
Linux两台主机之间建立信任相关推荐
- Linux两台主机之间建立信任关系
Linux两台主机之间建立信任关系 一般用ssh命令访问另一台机器,或者用scp命令从别的机器拷贝数据和文件,都要输入对应账户的密码.而在两台机器之间建立信任关系,则可以省略输入密码的过程. 一 : ...
- Linux 两台主机之间建立信任关系方式及基本原理
前言: 去年学过一段时间的现代密码学,最近在配置github, Linux主机之间建立信任关系的时候都用到了其中一些知识,所以刚好整理一下,想直接看操作方式的可直接拉到下面 密码学基本知识 一 现代密 ...
- 【网络通信与信息安全】之深入解析两台主机之间的通信过程和原理
一.前言 本文通过在 Docker 容器中执行命令,来深入了解两台主机之间的通信过程.阅读完本文,您将熟悉以下内容: Docker 的基本操作: 创建 socket 并发送 HTTP 请求: 路由表. ...
- linux服务器拷贝目录文件夹,linux两台服务器之间文件/文件夹拷贝
linux两台服务器之间文件/文件夹拷贝 跨服务器拷贝需要用到的命令是scp. ----------------------拷贝文件夹--------------------------------- ...
- linux两台服务器传输,Linux两台服务器之间高速数据传输命令:scp应用详解
Linux两台服务器之间高速数据传输命令:scp应用详解 Linux scp命令用于Linux之间复制文件和目录到另外一台,这个命令在多台服务器之间传输还是非常有用的,速度也是非常快的.比window ...
- 关于SSH服务|两台机器之间建立免密通道
ssh:用在linux或者unix的远程控制服务协议 sshd占用22端口 在linux系统下面/etc/ssh文件中 sshd_config文件是服务器端的配置 ssh_config是客户端的配置 ...
- linux同步某台服务器,linux 两台服务器之间开机自动同步指定目录下的文件
linux 两台服务器之间开机自动同步指定目录下的文件 服务器B(172.17.166.11)上开机或者重启会自动拉取服务器A(172.17.166.10)上指定目录下所有文件 1.创建服务器B到服务 ...
- #两台主机之间通信时为什么要用IP地址,而不直接用硬件地址?
两台主机之间通信时为什么要用IP地址,而不直接用硬件地址? 既然在网络链路上传送的数据帧最终是用硬件地址来寻找目的主机,为什么还要用IP地址进行通信,为什么不直接是用硬件地址进行通信? 首先要 ...
- Linux主机之间建立信任 公钥私钥 ssh免密登录 一台主机直接控制另一台主机执行命令
工作中有时我们需要用一台服务器去控制另一台服务器执行命令,或者将一些文件拷贝到另一台服务器上,但是这种操作指令默认是需要输入密码的,如果频繁操作的话就会很麻烦,或者如果用代码控制服务器执行命令时需要密 ...
- Linux 两台服务器之间传输文件和文件夹
今天处理一个项目要迁移的问题,突然发现这么多图片怎么移过去,可能第一时间想到的是先从这台服务器下载下来,然后再上传到另外一台服务器上面去,这个方法确实是可行,但是实在是太费时间了,今天我就教大家怎么快 ...
最新文章
- mysql分组后统计
- cmw500综合测试仪使用_宁波摆闸静电测试仪价格-老友网
- 看完后,我才明白 Redis 为什么默认 16 个数据库?
- steam api接口 php,php – 将Steam API信息提取到页面
- getReadableDatabase VS getWritableDatabase
- sql server经典sql
- Redis 常见延迟问题排查手册
- 恢复误删除的域用户及几个查询命令
- oracle数据库论文参考文献,ORACLE数据库管理研究
- 如何用计算机制作个人简历,制作个人简历的模板(电脑个人简历制作步骤)
- XXL-JOB漏洞解决,Eclipse Jetty HTTP请求走私漏洞
- python生成正态分布矩阵_统计学习 | 矩阵正态分布 (matrix normal distribution)
- 智能网联车载终端渗透率提升之道
- 没做过项目经理可以考pmp证书吗?普通人考PMP®有用吗?
- AdamW优化器简单理解
- 首都经贸大学计算机科学与技术专业,河北经贸大学经济管理学院的计算机科学与技术专业怎么样啊...
- oracle 结果集已耗尽_java.sql.SQLException: 结果集已耗尽,解决方法!
- 第十三天 06-文本编辑器VI的使用修改网卡等
- 跟着彭亮一起学人工智能之深度学习--零基础学人工智能
- AToken全观:小米雷军也投区块链钱包 AToken有机会的
热门文章
- Extjs layout 总结
- RuntimeException
- vue父子组件间传值(props)
- 深入C++中构造函数、拷贝构造函数、赋值操作符、析构函数的调用过程总结
- 【自爆系列】浅谈我前端开发的那些糗事
- 【JOURNAL】Greeting via Connexion on Air in Lufthansa并一些祝福
- 项目中比较常用的数据筛选场景
- Jboss项目部署出现java.lang.UnsupportedClassVersionError 问题的解决方法
- (dp)openjudge 复杂的整数划分问题
- c# winForm使用Aspose.Cells读取CSV文件中文乱码问题