前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux主机之间 使用 SSH 免密登录「建议收藏」

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

作者头像
全栈程序员站长
发布2022-07-29 19:22:06
2.3K0
发布2022-07-29 19:22:06
举报
文章被收录于专栏:全栈程序员必看

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

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

Linux主机之间 使用 SSH 免密登录「建议收藏」
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 免密登录「建议收藏」
Linux主机之间 使用 SSH 免密登录「建议收藏」

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

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

Linux主机之间 使用 SSH 免密登录「建议收藏」
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 免密登录「建议收藏」
Linux主机之间 使用 SSH 免密登录「建议收藏」

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

并进入 .ssh 目录下

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

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

可通过 chmod 600 authorized_keys 修改权限

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

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

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

Linux主机之间 使用 SSH 免密登录「建议收藏」
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 即可

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 追求完美:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档