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

一、软件环境

操作系统: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。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在Ubuntu 16.04上为用户目录设置vsftpd

FTP是文件传输协议的缩写,是一种曾经广泛用于在客户端和服务器之间移动文件的网络协议。它已被更快,更安全,更方便的文件传输方式所取代。许多休闲网民希望直接用ht...

27700
来自专栏码代码的陈同学

使用jasypt加密Spring Boot应用中的敏感配置

本文讲述了在Spring Boot/Spring Cloud应用中使用jasypt来加密properties。

34550
来自专栏编程之旅

在Mac上使用ssh-key免密码登录服务器

从很早之前开始,在搭建测试服务器的时候,就不停的谷歌怎么免密登录服务器,每次配置好免密登录后,到搭建新的服务器时,又忘记了具体的命令,所以决定把这个方法记下来,...

1.8K40
来自专栏cs

加密软件--PGP安装教程。

PGP(Pretty Good Privacy)是一个基于RSA公钥加密体系的邮件加密软件。 ---- pgp--百度百科 加密软件--百度百科。 安装教程...

40790
来自专栏云计算教程系列

如何在服务器上安装OpenLDAP

轻量级目录访问协议(LDAP)是一种标准协议,旨在通过网络管理和访问分层目录信息。目录服务在开发内部网和与互联网程序共享用户、系统、网络、服务和应用的过程中占据...

35820
来自专栏SpiritLing

自己写的加密网页,与百度网盘私密很相似,需要密码才能访问(原创)

题记: 马上就要招聘了,所以我打算放置简历在自己的网页上,但是又不想给除了招聘的人,或者我指定的人外看,所以我需要对网页页面加密 我找了许多资料,查看了许多所谓...

60350
来自专栏康怀帅的专栏

Let's Encrypt SSL 证书配置详解

首先确保你的网站是可以访问的( nginx 配置好 80 端口),申请证书时 let's Encrypt 会访问网站上的某一文件来确认网站归属(当然也可以通过 ...

53340
来自专栏云计算教程系列

如何在Debian 9上设置SSH密钥

SSH或安全shell是用于管理服务器和与服务器通信的加密协议。使用Debian服务器时,您可能会将大部分时间花在通过SSH连接到服务器的终端会话中。

43830
来自专栏Java帮帮-微信公众号-技术文章全总结

Centos6.5安装配置nginx

出现如下代码: nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is...

11630
来自专栏北京马哥教育

批量管理自动化运维100台小规模服务器

---- 目录 1.脚本背景介绍 2.脚本技术需求分析 2.1 SSH免登陆认证 2.2 Expect实现key分发 2.2 PSSH家族命...

2.6K150

扫码关注云+社区

领取腾讯云代金券