zoukankan      html  css  js  c++  java
  • 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")退出。
  • 相关阅读:
    英雄联盟离线更新方法
    (七) Keras 绘制网络结构和cpu,gpu切换
    剑指offer | 链表中的倒数第K个结点 | 12
    剑指offer | 从尾到头打印链表 | 11
    剑指offer | 栈的压入,弹出序列 | 10
    剑指offer | 包含min函数的栈 | 09
    剑指offer | 调整数组顺序使奇数位于偶数前面 | 08
    剑指offer | 旋转数组的最小数字 | 07
    剑指offer | 两个栈实现一个队列 | 06
    剑指offer | 替换空格 | 05
  • 原文地址:https://www.cnblogs.com/legend-song/p/5007094.html
Copyright © 2011-2022 走看看