很多时候,我们需要在两台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两台主机之间建立信任相关推荐

  1. Linux两台主机之间建立信任关系

    Linux两台主机之间建立信任关系 一般用ssh命令访问另一台机器,或者用scp命令从别的机器拷贝数据和文件,都要输入对应账户的密码.而在两台机器之间建立信任关系,则可以省略输入密码的过程. 一  : ...

  2. Linux 两台主机之间建立信任关系方式及基本原理

    前言: 去年学过一段时间的现代密码学,最近在配置github, Linux主机之间建立信任关系的时候都用到了其中一些知识,所以刚好整理一下,想直接看操作方式的可直接拉到下面 密码学基本知识 一 现代密 ...

  3. 【网络通信与信息安全】之深入解析两台主机之间的通信过程和原理

    一.前言 本文通过在 Docker 容器中执行命令,来深入了解两台主机之间的通信过程.阅读完本文,您将熟悉以下内容: Docker 的基本操作: 创建 socket 并发送 HTTP 请求: 路由表. ...

  4. linux服务器拷贝目录文件夹,linux两台服务器之间文件/文件夹拷贝

    linux两台服务器之间文件/文件夹拷贝 跨服务器拷贝需要用到的命令是scp. ----------------------拷贝文件夹--------------------------------- ...

  5. linux两台服务器传输,Linux两台服务器之间高速数据传输命令:scp应用详解

    Linux两台服务器之间高速数据传输命令:scp应用详解 Linux scp命令用于Linux之间复制文件和目录到另外一台,这个命令在多台服务器之间传输还是非常有用的,速度也是非常快的.比window ...

  6. 关于SSH服务|两台机器之间建立免密通道

    ssh:用在linux或者unix的远程控制服务协议 sshd占用22端口 在linux系统下面/etc/ssh文件中 sshd_config文件是服务器端的配置 ssh_config是客户端的配置 ...

  7. linux同步某台服务器,linux 两台服务器之间开机自动同步指定目录下的文件

    linux 两台服务器之间开机自动同步指定目录下的文件 服务器B(172.17.166.11)上开机或者重启会自动拉取服务器A(172.17.166.10)上指定目录下所有文件 1.创建服务器B到服务 ...

  8. #两台主机之间通信时为什么要用IP地址,而不直接用硬件地址?

    两台主机之间通信时为什么要用IP地址,而不直接用硬件地址?   既然在网络链路上传送的数据帧最终是用硬件地址来寻找目的主机,为什么还要用IP地址进行通信,为什么不直接是用硬件地址进行通信?   首先要 ...

  9. Linux主机之间建立信任 公钥私钥 ssh免密登录 一台主机直接控制另一台主机执行命令

    工作中有时我们需要用一台服务器去控制另一台服务器执行命令,或者将一些文件拷贝到另一台服务器上,但是这种操作指令默认是需要输入密码的,如果频繁操作的话就会很麻烦,或者如果用代码控制服务器执行命令时需要密 ...

  10. Linux 两台服务器之间传输文件和文件夹

    今天处理一个项目要迁移的问题,突然发现这么多图片怎么移过去,可能第一时间想到的是先从这台服务器下载下来,然后再上传到另外一台服务器上面去,这个方法确实是可行,但是实在是太费时间了,今天我就教大家怎么快 ...

最新文章

  1. mysql分组后统计
  2. cmw500综合测试仪使用_宁波摆闸静电测试仪价格-老友网
  3. 看完后,我才明白 Redis 为什么默认 16 个数据库?
  4. steam api接口 php,php – 将Steam API信息提取到页面
  5. getReadableDatabase VS getWritableDatabase
  6. sql server经典sql
  7. Redis 常见延迟问题排查手册
  8. 恢复误删除的域用户及几个查询命令
  9. oracle数据库论文参考文献,ORACLE数据库管理研究
  10. 如何用计算机制作个人简历,制作个人简历的模板(电脑个人简历制作步骤)
  11. XXL-JOB漏洞解决,Eclipse Jetty HTTP请求走私漏洞
  12. python生成正态分布矩阵_统计学习 | 矩阵正态分布 (matrix normal distribution)
  13. 智能网联车载终端渗透率提升之道
  14. 没做过项目经理可以考pmp证书吗?普通人考PMP®有用吗?
  15. AdamW优化器简单理解
  16. 首都经贸大学计算机科学与技术专业,河北经贸大学经济管理学院的计算机科学与技术专业怎么样啊...
  17. oracle 结果集已耗尽_java.sql.SQLException: 结果集已耗尽,解决方法!
  18. 第十三天 06-文本编辑器VI的使用修改网卡等
  19. 跟着彭亮一起学人工智能之深度学习--零基础学人工智能
  20. AToken全观:小米雷军也投区块链钱包 AToken有机会的

热门文章

  1. Extjs layout 总结
  2. RuntimeException
  3. vue父子组件间传值(props)
  4. 深入C++中构造函数、拷贝构造函数、赋值操作符、析构函数的调用过程总结
  5. 【自爆系列】浅谈我前端开发的那些糗事
  6. 【JOURNAL】Greeting via Connexion on Air in Lufthansa并一些祝福
  7. 项目中比较常用的数据筛选场景
  8. Jboss项目部署出现java.lang.UnsupportedClassVersionError 问题的解决方法
  9. (dp)openjudge 复杂的整数划分问题
  10. c# winForm使用Aspose.Cells读取CSV文件中文乱码问题