美文网首页
ssh 免密登陆

ssh 免密登陆

作者: 经纶先生 | 来源:发表于2017-08-31 18:42 被阅读0次

    密码登录原理:

    首先我们来看一下传统的ssh 密码登录的具体过程:

    ssh密码登录原理图

    密钥登录原理:

    ssh免密钥登陆详解2.jpg

    ssh 免密登陆实战

    实验说明:主机 70.244 / 70.245 / 70.246 三台机器

    1.生成密钥

    首先在每台执行 ssh-keygen -t rsa
    生成之后会在用户的根目录生成一个 “.ssh”的文件夹
    进入“.ssh”会生成以下几个文件

    -rw-------  1 root root 1675 3月  14 04:12 id_rsa
    -rw-r--r--  1 root root  395 3月  14 04:12 id_rsa.pub
    -rw-r--r--. 1 root root 6458 3月   2 23:10 known_hosts
    
    • id_rsa : 生成的私钥文件
    • id_rsa.pub : 生成的公钥文件
    • know_hosts : 已知的主机公钥清单
    • authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的

    2.修改.ssh权限

    chmod -R 700 .ssh

    3.拷贝自己公钥(id_rsa.pub)至 其它台的 authorized_keys

    其实这里可以直接cat ~/.ssh/id_rsa.pub内容至记事本上,然后手工粘贴到其它两台的authorized_keys文件中,但是linux提供了更为简单的命令如下:
    ssh-copy-id -i ~/.ssh/id_rsa.pub user@<romte_ip>
    我们在三台设备上分别执行如下命令:
    注意一定不要忘记本身的ip地址,也要这个命令啊

    在70.244上执行:
    ssh-copy-id -i ~/.ssh/id_rsa.pub  10.0.70.244
    ssh-copy-id -i ~/.ssh/id_rsa.pub  10.0.70.245
    ssh-copy-id -i ~/.ssh/id_rsa.pub  10.0.70.246
    在70.245上执行:
    ssh-copy-id -i ~/.ssh/id_rsa.pub  10.0.70.244
    ssh-copy-id -i ~/.ssh/id_rsa.pub  10.0.70.245
    ssh-copy-id -i ~/.ssh/id_rsa.pub  10.0.70.246
    在70.246上执行:
    ssh-copy-id -i ~/.ssh/id_rsa.pub  10.0.70.244
    ssh-copy-id -i ~/.ssh/id_rsa.pub  10.0.70.245
    ssh-copy-id -i ~/.ssh/id_rsa.pub  10.0.70.246
    

    4.常见错误说明:

    -bash: ssh-copy-id: command not found //提示命令不存在
    解决办法:
    yum -y install openssh-clients
    

    5.修改authorized_keys权限

    chmod -R  600 ~/.ssh/authorized_keys
    

    6.最后说明

    如果希望ssh公钥生效需满足至少下面两个条件:

    1. .ssh目录的权限必须是700
    2. .ssh/authorized_keys文件权限必须是600

    相关文章

      网友评论

          本文标题:ssh 免密登陆

          本文链接:https://www.haomeiwen.com/subject/qzqcjxtx.html