服务器SSH 免密码登录

1. 背景

为了服务器的安全着想,设置的服务器密钥非常长。但是这导致每次连接服务器都需要输入一长串的密码,把人折腾的很痛苦,所以我就在想,能不能在终端SSH的时候无需输入密码。

windows 可以使用 xshell 软件,会自动登录;

Mac 还是喜欢用终端,于是就得设置免密登录;

在使用 SSH 连接到远程服务器时,可以通过设置 SSH 密钥对,免去每次输入密码的步骤。以下是设置 SSH 无密码登录的步骤:

2. 生成 SSH 密钥对:

打开终端并输入以下命令生成 SSH 密钥对:

bash 复制代码
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

如果遇到需要挑选密钥保存文件夹,直接回车使用默认路径就行。

这将生成一个 4096 位的 RSA 密钥对。按照提示选择保存路径和输入密码短语(可选)。默认情况下,密钥将保存在 ~/.ssh/id_rsa~/.ssh/id_rsa.pub

如果大家是第一次使用 SSH 执行上述命令,就会生成公钥和私钥文件。可以跳过 是否覆盖 章节。

是否覆盖

如果此前已经和我一样已经有过密钥文件,我选择 n,不覆盖。此时就会退出密钥生成。

因为一个在密码学的公私钥中,一个公钥可以对应很多私钥;所以我的很多SSH都是使用的同一个公钥;

3. 将公钥复制到远程服务器

使用以下命令将生成的公钥复制到远程服务器:

bash 复制代码
ssh-copy-id username@remote_host

替换 usernameremote_host 为远程服务器的用户名和 IP 地址或主机名。系统会提示输入远程服务器的密码。

连接到远程服务器:

bash 复制代码
ssh username@remote_host

这样,就可以实现 SSH 无密码登录到远程服务器了。

相关推荐
大树881 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠1 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质1 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
开发者联盟league1 天前
安装pnpm
ssh
小宇宙Zz1 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工2 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智2 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_2 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
古城小栈2 天前
Unix 与 Linux 异同小叙
linux·服务器·unix
施努卡机器视觉2 天前
SNK施努卡侧滑门锁上滑轮总成自动化装配线,从零件到组件,全流程精密制造方案
运维·自动化·制造