服务器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 无密码登录到远程服务器了。

相关推荐
刚入门的大一新生2 小时前
Linux-Linux的基础指令4
linux·运维·服务器
腾讯蓝鲸智云5 小时前
嘉为蓝鲸可观测系列产品入选Gartner《中国智能IT监控与日志分析工具市场指南》
运维·人工智能·信息可视化·自动化
能不能别报错6 小时前
openclaw-linux部署教程+mimo-v2-pro
linux·运维·服务器
小虎卫远程打卡app7 小时前
光通信与视频编码前沿技术综述:从超大容量传输到实时神经网络编码
运维·网络·信息与通信·视频编解码
钛态8 小时前
Flutter for OpenHarmony:mockito 单元测试的替身演员,轻松模拟复杂依赖(测试驱动开发必备) 深度解析与鸿蒙适配指南
服务器·驱动开发·安全·flutter·华为·单元测试·harmonyos
ToB营销学堂8 小时前
B2B营销自动化新解法:MarketUP聚焦高转化场景
大数据·运维·自动化
TK云大师-KK8 小时前
TikTok自动化直播遇到内容重复问题?这套技术方案了解一下
大数据·运维·人工智能·矩阵·自动化·新媒体运营·流量运营
T0uken8 小时前
WSL:离线配置 Ubuntu 开发环境
linux·运维·ubuntu
暮秋4748 小时前
ubuntu部署阿里通义千问模型
运维·ubuntu·大模型
硅基导游9 小时前
Linux内核观测与跟踪的利器BPF环境测试
linux·服务器·性能监控·bpf