linux机器间建立信任关系

如何建立信任关系

在shell脚本中,需要使用scp命令将本地的文件复制到另一台机器中备份。但通常执行scp命令后都需要输入用户密码,这样在定时自动执行shell脚本中就不适用了。

在两台机器的两个用户之间建立安全的信任关系后,可实现执行scp命令时不需要输入用户密码。(该方法对ssh也适用)  以下将介绍如何在两台机器间建立信任关系,为了方便说明,我们将执行scp命令的机器叫做client,scp命令操作的远端机器叫做server。假设两个机器的账户都是work(其他账户也行,为了讨论方便假设了一个)。

1、在机器Client上work用户执行ssh-keygen命令,生成建立安全信任关系的证书。

[work@Client work]# ssh-keygen -b 2048 -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/work/.ssh/id_rsa): <– 直接输入回车
Enter passphrase (empty for no passphrase):            <– 直接输入回车
Enter same passphrase again:                           <– 直接输入回车
Your identification has been saved in /work/.ssh/id_rsa.
Your public key has been saved in /work/.ssh/id_rsa.pub.
The key fingerprint is:
49:9c:8a:8f:bc:19:5e:8c:c0:10:d3:15:60:a3:32:1c root@A
[work@Server work]#

注意:在程序提示输入passphrase时直接输入回车,表示无证书密码。

上述命令将生成私钥证书id_rsa和公钥证书id_rsa.pub,存放在用户根目录的.ssh子目录中。

2、将公钥证书id_rsa.pub复制到机器Server的work根目录的.ssh子目录中,同时将文件名更换为authorized_keys。

[work@Client work]# scp -p .ssh/id_rsa.pub work@192.168.3.206:/work/.ssh/authorized_keys
work@192.168.3.206′s password:          <– 输入机器Server的work用户密码
id_rsa.pub           100% |**************************|   218       00:00
[work@Client work]#

执行完上面两步后,就在机器Client的work和机器Server的work之间建立安全信任关系。下面我们看看效果:
[work@Client work]# scp -p text work@192.168.3.206:/work
text                 100% |**************************|    19       00:00  //这时不需要输入密码了
[work@Client work]#

同一台机器上面scp也需要设立信任关系。。。囧

已经存在的key,直接cat .ssh/id_rsa.pub >>.ssh/authorized_keys ,就搞定啦~~~

无法建立信任关系时排错步骤

1.AB主机名是默认的Localhost,如果AB之间的主机名相同,可能会导致无法成功。要修改主机名用hostname 命令,修改/etc/sysconfig/network,then restart your server.

2.查看SSH配置文件/etc/ssh/ssh_config,找到IdentityFile所指定的文件是什么,有的不是默认的id_rsa,这里指定的文件要和第一部分生成的文件名要相同,这里是id_rsa.

3.查看B机authorized-keys的文件权限是否为600或者644 (linux文件权限详解),如直接在server机器上vi或touch建立文件authorized_keys,可能会导致信任关系无法建立。

4.查看/var/log/secure日志,里面应该有一些蛛丝马迹可以供你参考

 
 

linux机器间建立信任关系的更多相关文章

  1. 两台linux之间建立信任关系,实现免密码ssh远程登录或scp数据上传

    两台linux之间建立信任关系,实现免密码远程登录或数据上传 1.执行ssh-keygen命令,生成建立安全信任关系的证书: linux1上:执行命令  ssh-keygen  -t rsa 在程序提 ...

  2. Linux 批量建立信任关系,实现ssh无password登陆的脚本

    作用: 把当前机器的ssh公钥拷贝到其它机器.以实现从当前机器能够ssh无password登陆到其它机器 用法: 1)把要加入的ip地址写入到一个文件里.比方host 2)把脚本保存为sh文件,如 i ...

  3. linux建立信任关系

    (1).切换到需要建立信任关系的用户(2).执行命令:ssh-keygen  -d,然后一直回车.该命令会在用户home目录下生成一个隐藏的.ssh目录.目录里面有两个文件:id_dsa.id_dsa ...

  4. Linux创建SSH信任关系

    Linux服务器创建信任关系可以解决远程执行命令.远程传输文件多次手工输入的麻烦.可以实现环境一键打包备份. 测试环境 SuSE 手工创建 假设服务器A与B间要建立信任关系.用户想从服务器A免密码登录 ...

  5. ssh两台机器建立信任关系无密码登陆

    在建立信任关系之前先看看基于公钥.私钥的加密和认证. 私钥签名过程 消息-->[私钥]-->签名-->[公钥]-->认证 私钥数字签名,公钥验证 Alice生成公钥和私钥,并将 ...

  6. 基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系

    #region private static bool ValidateServerCertificate 解决Error"基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系.& ...

  7. C#动态调用webService出现 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。

    这里因为的原因是https请求要检查证书,有些证书不正确的,网页不会正常展示内容,而会返回链接不安全,是否继续.不安全的链接是否继续. 详情参考: C#动态调用webService出现 基础连接已经关 ...

  8. XmlDocument.Load(url) url是https远程时,报错" 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。" "根据验证过程,远程证书无效。"

    XmlDocument.Load(url)  url是https远程时,报错" 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系."   "根据验证过程, ...

  9. [C# | WinCE | Solution] 在 WinCE 上访问 SSL 加密后的 WCF SOAP 服务接口出现“未能与远程服务器建立信任关系”

    Scenario: 服务器的 SOAP 使用了 GeoTrust 签名的 EV 证书,WinCE调用时出现“未能与远程服务器建立信任关系”的错误.原因是该 WinCE 设备信任的证书包括 Global ...

随机推荐

  1. 【PowerOJ1741&网络流24题】最长递增子序列问题(最大流)

    题意: 思路: [问题分析] 第一问时LIS,动态规划求解,第二问和第三问用网络最大流解决. [建模方法] 首先动态规划求出F[i],表示以第i位为开头的最长上升序列的长度,求出最长上升序列长度K. ...

  2. VXcode学习

    1.安装中文包(chinese) 2.打开控制面板ctrl+shift+p

  3. django搭建一个小型的服务器运维网站

    前言   不管是运维还是开发抑或是测试,工作中不免会和Linux服务器打交道,常见的操作譬如:查看CPU或内存状态.查看和修改服务器时间.查看或者修改服务器配置文件.实时查看或回看系统的日志.重启服务 ...

  4. window下启动redis服务

    ---恢复内容开始--- 在windows环境下启动redis服务,前提是你安装好了,启动如下: 一,进入redis的安装目录下,在地址栏输入“cmd”,回车 二,然后会进入cmd界面,直接运行命令r ...

  5. 修改docker默认网段

    一. 修改普通docker run启动的容器的网段 https://blog.51cto.com/13670314/2345518?source=dra https://blog.csdn.net/w ...

  6. (转)Matplotlib的子图subplot的使用

    转:https://www.jianshu.com/p/de223a79217a 前言 Matplotlib的可以把很多张图画到一个显示界面,这就设计到面板切分成一个一个子图.这是怎么做到的呢.mat ...

  7. 有关OI的思维导图

    看到这张图 我仿佛掉进了知识的深渊QwQ

  8. AtomicReference 源码分析

    AtomicReference AtomicReference 能解决什么问题?什么时候使用 AtomicReference? 1)AtomicReference 可以原子更新引用对象. 2)comp ...

  9. Delphi XE2 之 FireMonkey 入门(8) - TImage

    TImage 主要成员: { 属性 } Bitmap              : TBitmap;        //图像 BitmapMargins        : TBounds;      ...

  10. if else 更优雅的写法(转)

    https://www.cnblogs.com/y896926473/articles/9675819.html