良许Linux教程网 干货合集 详解Linux中SSH免密登陆

详解Linux中SSH免密登陆

Secure Shell ( SSH )是一种加密网络协议,用于客户端和服务器之间的安全连接,并支持各种身份验证机制。基于密码的身份验证和基于公钥的身份验证是目前两种最流行的身份验证机制。

1. 目的

简化SSH登陆过程, 实现从机器A登陆机器B只需要运行ssh hostname即可, 即不需要输入用户名和密码。

2. 配置host

配置host的作用是ssh登陆机器时用hostname代替IP, 在机器很多的集群环境中hostname比IP容易记的多, 编辑 /etc/hosts文件, 配置需要登陆的机器IP和hostname, 我这里配置机器129.211.93.219的hostname为 spider01

vim /etc/hosts
教你在Linux中配置SSH实现免密登陆教你在Linux中配置SSH实现免密登陆
教你在Linux中配置SSH实现免密登陆教你在Linux中配置SSH实现免密登陆

如果能ping通配置的hostname则配置成功。

3. 配置免密

使用ssh-keygen生成密钥,将公钥文件上传至目标机器即可实现免密登陆,使用命令生成密钥:

ssh-keygen -t rsa -C 'comment'
  • -t rsa: 指定使用 rsa加密;
  • -C: 添加备注, 备注会加到公钥文件最后,方便区分;

运行命令会有交互输入,全部使用默认值直接回车就行,默认会在家目录的.ssh/文件夹下生成四个文件:

  • authorized_keys: 存放远程免密登录的公钥,主要通过这个文件记录远程机器的公钥。
  • id_rsa: 生成的私钥文件
  • id_rsa.pub: 生成的公钥文件
  • known_hosts: 已知的主机公钥清单

然后通过ssh-copy-id命令复制本机公钥到目标机器上,运行命令:

sh-copy-id -i ~/.ssh/id_rsa.pub user_name@hostname
教你在Linux中配置SSH实现免密登陆教你在Linux中配置SSH实现免密登陆
教你在Linux中配置SSH实现免密登陆教你在Linux中配置SSH实现免密登陆

运行成功后即可使用ssh user_name@hostname 免密码登陆。

4. 配置免用户

编辑.ssh/目录下config 文件, 没有则新建一个,

vim ~/.ssh/config

添加目标机器配置:

教你在Linux中配置SSH实现免密登陆教你在Linux中配置SSH实现免密登陆
教你在Linux中配置SSH实现免密登陆教你在Linux中配置SSH实现免密登陆

添加成功后,即可使用ssh hostname直接登陆。

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

img
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部