• centos 运用ssh的rsa算法实现无密码登录


    ssh 公钥和私钥原理

    1。客户端机子生成私钥和公钥,将公钥放到服务器证书中,然后就可以实现免密码登录。(服务器认证文件要有该登录用户的读执行权限)

    2。a登录b:

    a机子:test01账号(b也要建立此用户)

    首先使用root权限设置配置 /etc/ssh/sshd_config:

    CentOS配置ssh无密码登录注意事项

    然后重启ssh: /etc/init.d/sshd restart

    设置开机启动 chkconfig sshd on

    a切换到普通用户test01,.生成公钥和私钥:执行命令 ssh-keygen -t rsa(rda也行) 生成密钥对,/home/lihao/.ssh/下面的id_rsa为私钥,id_rsa.pub为公钥

    b.2.把a机下的id_rsa.pub复制到B机下,在B机的.ssh/authorized_keys文件里,我用scp复制,然后加入到b的test01的证书里面

    cat id_rsa.pub | ssh -p22 root@192.168.0.106 'cat >> /home/lihao/.ssh/authorized_keys'

    c.设置b的ssh目录和证书权限:chmod 600 .ssh/authorized_keys

    authorized_keys的权限要是600。(CentOS默认新生成的文件权限为:-rw-rw-r--,即自己和群组用户都可以重写该文件,这被认为是不够安全的。如上图,由于此前我的主机上并未存在authorized_keys文件,现在由于重定向输出新建了该文件,因此该文件的默认权限为-rw-rw-r--仍旧不够安全。需把群组中的w权限去掉。可使用命令:chmod 644 authorized_keys。网上的资料中,都是直接chmod 600 authorized_keys,即群组和其他用户连读取文件内容的权限都没有,当然这样是最安全的,但是系统只要求到除了自己之外其他所有用户均不能改动文件就可以了。)

    d.在a机子直接ssh 192.168.0.106 -p22 直接可以进入了。不需要输入密码

    双向的话,可以同样配置b机子。这里ssh 192.168.0.106 -p22 (注意端口)

    遇到错误:

    1。

    user@ server:~$ ssh-keygen -t rsa
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    open /home/user/.ssh/id_rsa failed: Permission denied.
    解决:
    sudo yum remove selinux*
    2。

    is not in the sudoers file.This incident will be reported

    解决:

    编辑/etc/sudoers文件。也就是输入命令"vim /etc/sudoers",输入"i"进入编辑模式,找到这一行:"root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL"(这里的xxx是你的用户名),然后保存(就是先摁一下Esc键,然后输入":wq")退出。
  • 相关阅读:
    ElasticSearch入门 第一篇:Windows下安装ElasticSearch
    怎样打开.jar格式文件,怎样运行.jar格式文件
    如何安装java环境和如何配置java环境
    JDK安装、java环境配置
    学习PHP好,还是Python好呢?
    艾伟:WPF简介 狼人:
    艾伟:ASP.NET MVC,深入浅出IModelBinder,在Post方式下慎用HtmlHelper 狼人:
    艾伟:在Mono平台开发前你应该知道 狼人:
    艾伟:一个较完整的关键字过滤解决方案(上) 狼人:
    艾伟:闲话WPF之一(WPF的结构) 狼人:
  • 原文地址:https://www.cnblogs.com/legend-song/p/5007094.html
Copyright © 2020-2023  润新知