linux 下实现ssh免密钥登录

简介:

小伙伴经常在运维的时候需要ssh到很多其他的服务器,但是又要每次输入密码,一两台还没什么,多了就烦了。所以这里教大家如何直接ssh到其他机器而不用输入密码。

[root@jw ~]# ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa): ——一路回车吧

Created directory '/root/.ssh'.

Enter passphrase (empty for no passphrase): 

Enter same passphrase again: 

Your identification has been saved in /root/.ssh/id_rsa.

Your public key has been saved in /root/.ssh/id_rsa.pub.

The key fingerprint is:

54:77:79:fd:82:90:d7:c5:7f:5a:04:39:8f:e8:40:09 root@jw

The key's randomart image is:

+--[ RSA 2048]----+

|        E..o..o*o|

|         .=...= =|

|        .. o o *o|

|       .  . o o *|

|        S  o   +.|

|            . .  |

|                 |

|                 |

|                 |

+-----------------+

会在本机生成两个文件,一个id_rsa.pub公钥一个id_rsa私钥

[root@jw ~]# cd .ssh/

[root@jw .ssh]# pwd

/root/.ssh

[root@jw .ssh]# ll

total 8

-rw-------. 1 root root 1675 Nov  6 09:46 id_rsa

-rw-r--r--. 1 root root  389 Nov  6 09:46 id_rsa.pub

将公钥拷贝到你需要连接的主机上,如192.168.3.2

[root@jw .ssh]# ssh-copy-id -i id_rsa.pub root@192.168.3.2

The authenticity of host '192.168.3.2 (192.168.3.2)' can't be established.

RSA key fingerprint is e4:fa:45:0d:a1:e5:77:0d:be:41:2f:d9:f3:2f:56:f1.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '192.168.3.2' (RSA) to the list of known hosts.

root@192.168.3.2's password: 

Now try logging into the machine, with "ssh 'root@192.168.3.2'", and check in:


  .ssh/authorized_keys


to make sure we haven't added extra keys that you weren't expecting.

拷贝需要输入yes,并输入对方主机192.168.3.2的密码

查看192.168.3.2的/root/.ssh/目录下会生成authorized_keys文件,内容如下

[root@jw2 .ssh]# cat authorized_keys 

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAt5Bum8vL+FezAzM9xUzSLnzTVGOwwmnu6dQcrIu5WCNqb1VgO1J2jj0jUDaK670tNIi5b2C+rr0kontqlVwblFZCrT/2gLBqj51t8UKu7YzaCxJBqdHbIxSgyE2/klxM4x3L/8j2FnGiBDzB6eZ9VLatnFjm2D1QtxStu2It+h1Rg2sqQqMxg3+rLkeG4b8nPBDxw6pczYQR9mKsmvH3wEDi4+17wonz9T+tqQO0dI9jI7jibwEpHWkpVzWM+lQpyU4VrEtq9uVEE6gsIKcWzdpfM5B3WVfA8ts2TM8zxu+NRvA0Dfxzh3iEkVUv7zAPs6tlZM16JoHcXros++goJQ== root@jw

[root@jw2 .ssh]# pwd

/root/.ssh

————————————————

如此直接在本机192.168.3.1 ssh对方ip,ssh 192.168.3.2 因为默认都是root,所以可以不用输入root@192.168.3.2

如果需要在192.168.3.2远程192.168.3.1;那就在3.2上如上步骤做一遍;

可以在192.168.3.1主机上查看/root/.ssh/目录下的文件

[root@jw .ssh]# ll

total 12

-rw-------. 1 root root 1675 Nov  6 09:46 id_rsa——私钥  解密

-rw-r--r--. 1 root root  389 Nov  6 09:46 id_rsa.pub——公钥 加密

-rw-r--r--. 1 root root  393 Nov  6 09:49 known_hosts——已知的主机列表

[root@jw .ssh]# cat known_hosts 

192.168.3.2 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvMTT5iDe+VuIfIw76LspyYt7EcBTzj6aEa5dto+4G+la1sxnMiy2xIhynctX6T1JipXYsv2cPdPHfV2i/BD4ZLNV30+j6b5G+qEqHxaTxgoez6MyRCO0FT1pI5TpPHA9neMN/70Yrmp4RttHM04gz6X9CesZwfRaHpFoBcVm6+0YgEOakDSFbe7T/Se/M6dhuJwWXmJYSoSG/z1QkBn/QI/YgszjFQBiulDPXhHTd/WWJd64mFJLuAhr+QmA+QG4sdYlJYl26hFUUf/Tgzw9cdkNM57jyQ436crJ6s2duJZ3zYGvclwSVLdhQH7VigZFRoua+wTxeD8QgtaCOf2Osw==

                                                                            by:rm_rf_db










本文转自 rm_rf_d 51CTO博客,原文链接:http://blog.51cto.com/12185273/1979484,如需转载请自行联系原作者
目录
相关文章
|
应用服务中间件 网络安全 数据安全/隐私保护
网关服务器配置指南:实现自动DHCP地址分配、HTTP服务和SSH无密码登录。
哇哈哈,道具都准备好了,咱们的魔术秀就要开始了。现在,你的网关服务器已经魔法满满,自动分配IP,提供网页服务,SSH登录如入无人之境。而整个世界,只会知道效果,不会知道是你在幕后操控一切。这就是真正的数字世界魔法师,随手拈来,手到擒来。
606 14
|
Ubuntu Linux 网络安全
在Linux云服务器上限制特定IP进行SSH远程连接的设置
温馨提示,修改iptables规则时要格外小心,否则可能导致无法远程访问你的服务器。最好在掌握足够技术知识和理解清楚操作含义之后再进行。另外,在已经配置了防火墙的情况下,例如ufw(Ubuntu Firewall)或firewalld,需要按照相应的防火墙的规则来设置。
719 24
|
JavaScript 应用服务中间件 Linux
【应用服务 App Service】解决无法从Azure门户SSH登录问题
【应用服务 App Service】解决无法从Azure门户SSH登录问题
445 0
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
619 10
|
安全 Unix Linux
【Linux权限】—— 于虚拟殿堂,轻拨密钥启华章
25000多字详细讲解,深度剖析权限管理核心。从基础权限到复杂的特殊权限,逐一拆解,无论你是零基础小白还是经验丰富的运维人员,都能在这里找到提升技能的关键知识,全面掌握 Linux 权限管理。还不快来看看?
【Linux权限】—— 于虚拟殿堂,轻拨密钥启华章
|
安全 网络协议 Linux
Linux查 ssh端口号和服务状态
本指南详细介绍如何检查SSH服务的运行状态,包括通过进程命令验证服务启动、查看监听端口、检测系统服务状态以及防火墙配置。同时提供安全建议,如修改默认端口、禁用密码登录和定期更新系统,确保SSH服务稳定与安全。适用于不同Linux发行版(Systemd/SysVinit),帮助用户全面排查和优化SSH配置。
|
安全 网络安全 数据安全/隐私保护
Debian 12系统中允许Root远程SSH登录解决方法!
在 Debian 12 系统中开启 SSH 远程 Root 登录需修改 SSH 配置文件 (`sshd_config`),将 `PermitRootLogin` 设置为 `yes` 并确保密码认证启用。完成后重启 SSH 服务并验证连接。若防火墙启用,需放行端口 22。注意,直接开放 Root 登录可能带来安全风险,建议使用普通用户登录后切换至 Root。
2340 1
|
安全 Linux 网络安全
Linux端的ssh如何升级?
Linux端的ssh如何升级?
1458 59
|
监控 Ubuntu 安全
debian或Ubuntu中开启ssh允许root远程ssh登录的方法
在Debian或Ubuntu系统中启用root用户的SSH远程登录需要编辑SSH配置文件、设置root密码并重启SSH服务。虽然这可以在某些情况下提供便利,但必须注意安全性,通过使用强密码、限制IP访问、使用SSH密钥认证等方法来保护服务器的安全。
8191 5
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。