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 二、问题背景 多台网络可达的服务器之间实现免密登录。

一、软件环境

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

SSH版本

[root@Geeklp201 ~]# ssh -V

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

登录服务端IP192.168.237.201

被登录服务端IP192.168.237.202 192.168.237.203

二、问题背景

多台网络可达的服务器之间实现免密登录。本例中,以192.168.237.201为登录端,在本台机器上通过SSH免输密码登录远程被登录端的192.168.237.202192.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_rsaid_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.202192.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

相关文章
|
3月前
|
网络安全 开发工具 git
配置本地环境以管理Git多账户SSH连接的方法
通过以上步駟设置后, 您可以轻松管理多個 Git 账户并且根据不同项目需求切换 SSH 密匙进行版本控制操作。
325 20
|
6月前
|
应用服务中间件 网络安全 数据安全/隐私保护
网关服务器配置指南:实现自动DHCP地址分配、HTTP服务和SSH无密码登录。
哇哈哈,道具都准备好了,咱们的魔术秀就要开始了。现在,你的网关服务器已经魔法满满,自动分配IP,提供网页服务,SSH登录如入无人之境。而整个世界,只会知道效果,不会知道是你在幕后操控一切。这就是真正的数字世界魔法师,随手拈来,手到擒来。
363 14
|
5月前
|
网络安全 开发工具 git
GitHub 多账户 SSH 配置指南
本文介绍了如何在同一台电脑上配置多个 GitHub 账户的 SSH 密钥。内容包括:检查现有密钥、生成新的 SSH 密钥、配置 SSH config 文件、将公钥添加到 GitHub、验证 SSH 连接、设置 Git 用户信息、创建工作区目录、使用不同账户克隆仓库,以及为每个仓库配置独立的用户信息等步骤。通过这些操作,可以实现在不同项目中使用不同的 GitHub 账户进行提交和管理。
390 0
|
8月前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
374 10
|
9月前
|
安全 网络安全 数据安全/隐私保护
Debian 12系统中允许Root远程SSH登录解决方法!
在 Debian 12 系统中开启 SSH 远程 Root 登录需修改 SSH 配置文件 (`sshd_config`),将 `PermitRootLogin` 设置为 `yes` 并确保密码认证启用。完成后重启 SSH 服务并验证连接。若防火墙启用,需放行端口 22。注意,直接开放 Root 登录可能带来安全风险,建议使用普通用户登录后切换至 Root。
1069 1
|
JavaScript 应用服务中间件 Linux
【应用服务 App Service】解决无法从Azure门户SSH登录问题
【应用服务 App Service】解决无法从Azure门户SSH登录问题
265 0
|
12月前
|
监控 Ubuntu 安全
debian或Ubuntu中开启ssh允许root远程ssh登录的方法
在Debian或Ubuntu系统中启用root用户的SSH远程登录需要编辑SSH配置文件、设置root密码并重启SSH服务。虽然这可以在某些情况下提供便利,但必须注意安全性,通过使用强密码、限制IP访问、使用SSH密钥认证等方法来保护服务器的安全。
5134 5
|
XML 大数据 网络安全
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(一)
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(一)
266 5
|
大数据 网络安全 数据安全/隐私保护
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(二)
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(二)
457 5
|
监控 安全 Ubuntu
在Linux中,如何进行SSH服务配置?
在Linux中,如何进行SSH服务配置?