前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SSH免密远程登录的配置与实现

SSH免密远程登录的配置与实现

作者头像
耕耘实录
发布2018-12-20 09:37:56
1K0
发布2018-12-20 09:37:56
举报
文章被收录于专栏:耕耘实录耕耘实录

一、软件环境

操作系统:CentOS Linux release 7.4.1708 (Core)

SSH版本

[root@Geeklp201 ~]# ssh -V

OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

登录服务端IP:192.168.237.201

被登录服务端IP:192.168.237.202 192.168.237.203

二、问题背景

多台网络可达的服务器之间实现免密登录。本例中,以192.168.237.201为登录端,在本台机器上通过SSH免输密码登录远程被登录端的192.168.237.202和192.168.237.203。

三、实现过程

1、把当前工作目录切换到用户目录。

[root@Geeklp201 ~]# cd ~

2、看一下当前目录有没有.ssh子目录。

[root@Geeklp201 ~]# ls -al

3、没有.ssh子目录,创建该目录或者使用ssh登录一下任意一台服务器,ssh登录时(无论登录成功与否)会自动创建该目录。也可以直接跳过此步执行第4步,执行第四步的时候也会自动创建.ssh目录,ssh-keygen生成的公钥及私钥放入该目录下。这一步也可以说是画蛇添足。

mkdir .ssh或者ssh root@192.168.237.202

4、生成相关私钥与公钥。

[root@Geeklp201 ~]# ssh-keygen -b 4096 -t rsa -C root@192.168.237.201

命令执行完成之后,在当前目录会生成id_rsa和id_rsa.pub两个key文件。参数b指定key的长度,本例中指定的长度为4096。参数t指定加密算法,本例中使用的RSA加密算法。参数C可是邮件地址或域名等,会被添加到key的尾部,以示区分。

5、把生成的公钥分发到需要登录的服务器(被登录端)上。

[root@Geeklp201 .ssh]#ssh-copy-id -i id_rsa.pub root@192.168.237.202

[root@Geeklp201 .ssh]#ssh-copy-id -i id_rsa.pub root@192.168.237.203

按照提示分别输入被登录服务端的密码即可。

6、登录验证。从192.168.237.201登录192.168.237.202和192.168.237.203。

[root@Geeklp201 .ssh]# ssh root@192.168.237.202

[root@Geeklp201 .ssh]# ssh root@192.168.237.203

或者

[root@Geeklp201 .ssh]# ssh 192.168.237.202

[root@Geeklp201 .ssh]# ssh 192.168.237.203

登录成功,免密登录成功实现。

四、注意事项

1、公钥在向被登录端分发完成后在登录端可删除,但是私钥是不能删除的。如果删除了私钥,那么就需要输入密码才能登录成功。

2、公钥安装完成以后是可以卸载的,卸载命令为:ssh-keygen -R 192.168.237.203。

3、公钥的分发过程也可以使用scp来实现,不过没有ssh-copy-id简单、方便,但是要注意加参数i。

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

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

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

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

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