Linux主机之间 使用 SSH 免密登录「建议收藏」

    首先看SSH免密登录简易原理图:主机A想要SSH免密登录主机B,首先需要将主机A的SSH公钥复制到主机B的授权列表文件,A登录B时,B会查看自己的授权列表文件,若存在A的公钥,经过一系列验证后,即可登录                  首先准备两台主机SSH-A和SSH-B(注意:两台主机必须能ping通)    我…

大家好,又见面了,我是你们的朋友全栈君。

        首先看SSH免密登录简易原理图: 主机A想要SSH免密登录主机B, 首先需要将主机A的SSH公钥复制到主机B的授权列表文件, A登录B时,B会查看自己的授权列表文件, 若存在A的公钥,经过一系列验证后,即可登录 

                        Linux主机之间 使用 SSH 免密登录「建议收藏」

       首先准备两台主机 SSH-A 和 SSH-B(注意:两台主机必须能 ping 通

       我的 SSH-A 主机的 IP 是:192.168.198.12, 

               SSH-B 主机的 IP 是:192.168.198.13 ,

       !!!!SSH Key 是针对主机中某一个用户的, 每个用户的SSH Key都不一样

             开始(主机 SSH-A 免密登录主机 SSH-B):      

       1.  在 SSH-A 生成 用户 SA 的 SSH Key

            在SA用户下执行下面的命令:   ssh-keygen -t rsa

            中间的出现 Enter passphrase(empty for no passphrase) 和 The key fingerprint is  直接回车, 默认的就行

             Linux主机之间 使用 SSH 免密登录「建议收藏」

        2.  默认生成的 .ssh 目录默认保存在用户主目录下(我这的用户主目录是/home/SA ),进入.ssh目录

             进入用户主目录, 由于.ssh是隐藏文件,需使用 ls-all 命令才能看到 

             Linux主机之间 使用 SSH 免密登录「建议收藏」

        3.  将.ssh目录下的 id_rsa.pub 远程拷贝到 SSH-B 主机上(远程拷贝命令 scp)

             scp id_rsa.pub SB@192.168.198.13:/home/SB

             此命令的意思是:从本机将 id_rsa.pub 文件 以 SB 这个用户的身份 写到192.168.198.13(SSH-B)主机下的 home/SB 目               录下, SB 是 SSH-B主机上的一个用户,  /home/SB 是 SSH-B 的用户主目录, 中间需要输入 SB 的用户密码

             Linux主机之间 使用 SSH 免密登录「建议收藏」

        4. 在主机 SSH-B 里, 进入 /home/SB 目录(以 SB 这个用户的身份), 同样的过程, 为 SB 用户生成 SSHKey

            并进入 .ssh 目录下

            Linux主机之间 使用 SSH 免密登录「建议收藏」

        5. 将 SSH-A 的公钥添加到 SB 用户 .ssh 目录下的 authorized_keys 文件中, 若 authorized_keys 不存在, 则手动创建一                个,注意:authorized_keys 的权限必须为 -rw——,即只有SB这个用户可读可写, 其他无任何权

              可通过 chmod 600 authorized_keys 修改权限

           Linux主机之间 使用 SSH 免密登录「建议收藏」

        6. 测试登录, 登陆成功, 大功告成

            ssh SB@192.168.198.13    表示使用 SB 这个用户 登录 192.168.198.13 主机

            Linux主机之间 使用 SSH 免密登录「建议收藏」    

     

追求完美: 

1.  远程登录到别的主机后怎么 回到原来的主机

     从主机SSH-A 登录到 SSH-B主机: ssh SB@192.168.198.13

    回到原来的主机: ssh SA@192.168.198.12

    问题: 登录回源主机时需要输入 SA 的用户密码, 因为我们没有将 用户 SA 的 public key 添加到 用户SA 的             

                authorized_keys 文件中, 只需要在用户SA 的authorized_keys 文件中添加 SA 自己 的公钥, 即可免密切换回源主                 机主机

2.  执行 ssh SB@192.168.198.13 远程登录时发现还需要输入密码

     (1).  检查文件名是否错误, 必须为 authorized_keys

     (2).  检查authorized_keys的权限是否为-rw——

     (3). 若(1), (2)都没问题, 则给 SB 用户添加超级用户权限

            方法:打开 /ect/sudoers 文件, 找到 root      ALL=(ALL)       ALL行,

                                        在这行下面添加一行 SB      ALL=(ALL)       ALL 即可

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/129586.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号