zoukankan      html  css  js  c++  java
  • linux机器间建立信任关系

    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日志,里面应该有一些蛛丝马迹可以供你参考

     
  • 相关阅读:
    [bzoj1008](HNOI2008)越狱(矩阵快速幂加速递推)
    [BZOJ1007](HNOI2008)水平可见直线(半平面交习题)
    [bzoj1006](HNOI2008)神奇的国度(弦图最小染色)【太难不会】
    [BZOJ1005](HNOI 2008)明明的烦恼
    unity3d环境安装指南: Unity 4.5.5 + Visual Studio 2010
    再议Unity 3D
    Android系统简介(中):系统架构
    Android系统简介(上):历史渊源
    Spread 之自定义对角线cellType源码: DiagonalCellType
    通信行业OSS支撑系统软件研发思考
  • 原文地址:https://www.cnblogs.com/starf/p/3878307.html
Copyright © 2011-2022 走看看