zoukankan      html  css  js  c++  java
  • redhat 6.3 ssh免密码登录

    原理介绍

    为了便于理解,假设需要在server108这台机器上可以通过无密码登录的方式连接到server107上。

    首先在 server108上生成一个密 钥对,包括一个公钥和一个私钥,并将公钥复制到server107上。

    然后当 server108通 过 SSH 连接server107机器时, server107机器 就会生成一个随机数并用 server108的公 钥对随机数进行加密,并发送给 hadoop148。

    最后 server108收到加密数之后再用私 钥解密,并将解密数回传给server107, server107确认解密数无误之后就允许 server108不 输入密码进行连接了

    配置实例:

    两台主机

    10.5.7.107 server1

    10.5.7.108 server2

    两台主机检查 ~/.ssh 文件夹没有则新建

    登录107机器

    ssh-keygen -t rsa 一路狂按回车,最终生成(id_rsa,id_rsa.pub两个文件).

    把id_rsa.pub 复制到108两台node上去.

    scp ~/.ssh/id_rsa.pub root@10.5.7.107:~/.ssh

    切换到108:

    生成authorized_keys.

    cat id_rsa.pub >> authorized_keys

    然后把authorized_keys scp到107.

    scp ~/.ssh/authorized_keys root@10.5.7.107:~/.ssh 

    然后把两台机器 .ssh/ 文件夹权限改为700,authorized_keys文件权限改为600(or 644).

    chmod 700 ~/.ssh

    chmod 600 ~/.ssh/authorized_keys

    确定两台主机ssh配置文件:

    vi /etc/ssh/sshd_config

    #禁用root账户登录,如果是用root用户登录请开启
    PermitRootLogin yes
    
    # 是否让 sshd 去检查用户家目录或相关档案的权限数据,
    # 这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。
    # 例如使用者的 ~.ssh/ 权限设错时,某些特殊情况下会不许用户登入
    StrictModes no
    
    # 是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。
    # 至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内
    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile      .ssh/authorized_keys
    
    # 有了证书登录了,就禁用密码登录吧,安全要紧
    PasswordAuthentication no

    文件有修改需要重启ssh服务

    service ssh restart

    reboot

    分析与处理

    1)查看日志

    用ssh -v debug访问,日志如下,但是从日志看不到失败原因,只知道在用publickey认证时,对端没有reply;

    再查看/var/log/secure日志

    通过查看hadoop107机器/var/log/secure

    2)查看安全上下文

    用ls -laZ检查了一下.ssh目录,果然不是ssh_home_t,则需要使用restorecon命令对.ssh目录的context进行恢复。命令是:restorecon -r -vv /root/.ssh

     

    3)分析/var/log/audit/audit.log日志

    如果还是不行,查看hadoop107的audit.log文件,里面或许有错误的相关信息

    参考

    CentOS SSH无密码登录原理,配置以及常见问题

  • 相关阅读:
    [引]ASP.NET MVC 4 Content Map
    [转]ASP.NET MVC 2: Model Validation
    [转]ASP.NET MVC中你必须知道的13个扩展点
    [转]Best way to sort a DropDownList in MVC3 / Razor using helper method
    [转]Sql Server参数化查询之where in和like实现详解
    [转]Oracle Stored Procedures Hello World Examples
    [转]oracle的ANYDATA数据类型
    重构中对设计模式的反思
    poj2186 Popular Cows --- 强连通
    mac下通过xcodebuild使用oclint
  • 原文地址:https://www.cnblogs.com/stimlee/p/6766881.html
Copyright © 2011-2022 走看看