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. scanf()函数原理

    一.三点说明 1.用户输入的字符,会以ASCII码形式存储在键盘缓冲区:2.每调用一次scanf函数,就从键盘缓冲区读走一个字符,相当于清除缓冲区:3.若用户一次输入n个字符,则前n次调用scanf函 ...

  2. C++ 对象间通信框架 V2.0 ××××××× 之(四)

    类定义:CMemberFuncPointer ======================================================================= // Me ...

  3. Web开发系列【1】实用的网页布局(PC端)

    在熟悉那些常用的软件.工具后,我们正式开始开发,在前期准备工作之后,我们要做的事情是写页面,也就是网页布局.在w3c.菜鸟.慕课网等等网站上都有基础的 HTML+CSS 知识讲解,在初期学习中,跟着教 ...

  4. Java中使用Redis的几种数据类型总结

    1.String,最基本的类型 方法  set.get 2.hash redis 127.0.0.1:6379> HMSET user:1 username redis.net.cn passw ...

  5. 字节对齐#pragma pack

    这是给编译器用的参数设置,有关结构体字节对齐方式设置, #pragma pack是指定数据在内存中的对齐方式. #pragma pack (n)             作用:C编译器将按照n个字节对 ...

  6. jvm监测

    jvm调优,首先,你得会jvm性能检测.开方得先诊断啊.

  7. Codeforces Gym 100269 Dwarf Tower (最短路)

    题目连接: http://codeforces.com/gym/100269/attachments Description Little Vasya is playing a new game na ...

  8. 词频分析 评论标签 nltp APP-分析买家评论的评分-高频词:二维关系

    0-定评论结果:好评.差评,1星.4星,二元化为“积极.消极”,取一元的数据为样本 1-得到词频结果:如手机类的“积极样本”得到前10的高频词:运行(run running ran).内存(memor ...

  9. 用Vue来实现音乐播放器(十五):处理得到的歌手数据

    之前得到的歌手数据是用forEach遍历添加的  没有顺序性  我们希望得到的数据是title:"热门"的数据在最上面  title为字母的数据按字母从低到高顺序排列 var ho ...

  10. 接口开发01--mock接口

    开发接口的常见场景: 1.mock接口,模拟一些接口,在别的接口没有开发好的时候,你需要测试,可以先模拟一个假接口来测试.比如常见 2.若需要调用第三方接口时,比如支付接口. 3.查看数据,比如开放数 ...