专栏首页米扑专栏Linux两台主机之间建立信任

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 为服务端的,格式如下:

可能遇到的问题

port 22: Connection refused

原因:没有正确安装最新的openssh-server,安装方法如下

sudo apt-get install openssh-server

参考网址

Agent admitted failure to sign using the key

解決方法:使用 ssh-add 指令将本机的私钥加进来 (根据个人的密匙命名不同更改 id_rsa)

ssh-add   ~/.ssh/id_rsa 

参考网址

知识拓展:

scp不需要密码

配置主机间信任的一个简单办法

Ubuntu修改网络配置命令

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JFreeChart项目实例

    最近利用JFreeChart和MySQL数据库做了一个JSP网页,展现Android Martet全球12个国家的TOP800游戏排名的曲线走势

    阳光岛主
  • Linux 系统 /var/log/journal/ 垃圾日志清理

    版权声明:本文为米扑博客原创文章,未经米扑博客允许不得转载。 https://blog.csdn.net/sunboy_2050/...

    阳光岛主
  • VMware 修复 Ubuntu 启动不了问题

    最近在VMware虚拟机里面安装了Ubuntu10.10,安装配置Eclipse + Android SDK,无奈修改系统配置参数后启动不了,只好通过iso安装...

    阳光岛主
  • 编写高质量代码改善C#程序的157个建议[匿名类型、Lambda、延迟求值和主动求值]

      从.NET3.0开始,C#开始一直支持一个新特性:匿名类型。匿名类型由var、赋值运算符和一个非空初始值(或以new开头的初始化项)组成。匿名类型有如下基本...

    aehyok
  • Windows安装MySQL5.7教程

    我们日常学习可能会需要在本地安装MySQL服务,也遇到过小伙伴探讨关于Windows系统安装MySQL的问题。在这里建议大家安装MySQL5.7版本,当然想尝试...

    MySQL技术
  • [Linux] 使用vmstat查看系统的负载情况

    vmstat可以查看 系统 , 内存 , cpu , io 等的使用情况 , 方便查看系统负载

    陶士涵
  • SaaS创业繁荣不在 投资机构正在逃离早期项目

    创业市场看起来依然红火,一方面全球风投数量创下记录,另一方面价值10亿美元的“独角兽”数量也在激增,但是没有人注意到,早期风投的数量却一直在急剧地降低。 如下图...

    人称T客
  • MySQL主从复制能完美解决数据库单点问题吗?

    2、从库的IO线程在指定位置读取主库binlog内容存储到本地的中继日志(Relay Log)中

    lyb-geek
  • 前沿 | 从虚拟世界伸到现实的机械臂,靠摄像机就能玩转任何物体

    论文链接:https://d4mucfpksywv.cloudfront.net/research-covers/learning-dexterity/lear...

    机器之心
  • ASP.NET5之客户端开发:Grunt和Gulp构建工具在Visual Studio 2015中的高效的应用Grunt和Gulp使用Grunt准备项目配置NPM配置Grunt集成起来监测文件变化与V

    Grunt和Gulp是Javascript世界里的用来做自动压缩、Typescript编译、代码质量lint工具、css预处理器的构建工具,它帮助开发者处理客户...

    小白哥哥

扫码关注云+社区

领取腾讯云代金券