如何在Mac上通过SSH远程连接服务器 Mac终端配置SSH密钥的方法

系统教程

Mac SSH免密登录需五步:启用远程登录服务、用终端ssh命令连接、生成Ed25519密钥对、手动部署公钥并设权限(~/.ssh 700、authorized_keys 600)、用ssh-add --apple-use-keychain将私钥加入钥匙串。

如果您在Mac终端中尝试通过SSH连接远程服务器,但每次都需要输入密码,则可能是由于公钥未正确部署、服务端SSH未启用或权限配置不合规。以下是解决此问题的多种方法:

一、启用远程主机的SSH服务

macOS默认不运行sshd守护进程,必须手动开启“远程登录”功能,否则任何密钥配置均无法生效。该步骤是后续所有操作的前提。

1、点击左上角苹果图标 → 选择「系统设置」→ 点击「通用」→ 进入「共享」;

2、勾选「远程登录」选项;

3、右侧显示类似ssh user@192.168.x.x的提示信息,表示服务已启动;

4、点击右侧「信息」图标 → 选择「仅这些用户」并勾选目标登录账户;

5、若系统防火墙已启用,确认「防火墙选项」中未阻止sshd(端口22)

二、使用终端内置SSH命令直接连接

该方法调用macOS系统预装的OpenSSH客户端,不依赖第三方工具,适用于一次性或临时性连接需求,其本质是通过标准协议发起加密身份验证请求。

1、点击屏幕左上角“前往”菜单,选择“应用程序” → “实用工具” → “终端”;

2、在终端窗口中输入命令:ssh username@server_ip_address,其中username为服务器上的有效账户名(如root、ubuntu),server_ip_address为服务器实际IP地址(例如192.168.0.110);

3、首次连接时,系统将显示服务器RSA密钥指纹提示,输入yes并回车确认信任;

4、出现密码提示符后,输入对应用户的密码(注意:输入过程无任何可见字符反馈),回车提交;

5、当终端光标前显示#(root权限)或$(普通用户)时,表示已成功建立SSH会话。

三、生成Ed25519密钥对实现免密登录

使用Ed25519算法生成密钥比RSA更安全、更高效,且完全兼容现代macOS系统。私钥必须严格保密,公钥将被部署至远程主机。

1、打开「终端」应用;

2、执行命令:ssh-keygen -t ed25519 -C "your_email@example.com"

豆包Mac版

豆包AI客户端 Mac版凭借其强大的性能与深度的系统融合,成为了Mac用户不可或缺的桌面级智能工具。作为字节跳动公司基于先进的“云雀模型”自主研发的AI工具软件,它不仅仅是一个简单的聊天机器人,更是一个集创作、学习、搜索与系统交互于一体的全能型AI助手。

3、按回车接受默认保存路径~/.ssh/id_ed25519

4、输入并确认一个强密码短语(passphrase),不建议直接回车留空

5、生成完成后,私钥文件为~/.ssh/id_ed25519,公钥文件为~/.ssh/id_ed25519.pub

四、手动将公钥复制到远程主机

ssh-copy-id在部分macOS版本(如Sonoma及更新版)存在兼容性问题,易因shell初始化或权限异常失败,手动部署可确保过程可控、路径明确、权限精准。

1、在本地终端执行:cat ~/.ssh/id_ed25519.pub,全选并复制输出内容;

2、使用密码方式登录远程主机:ssh user@remote_ip

3、在远程主机上依次执行以下三行命令(顺序不可调换):
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "粘贴的公钥内容" >> ~/.ssh/authorized_keys

4、立即设置授权文件权限:chmod 600 ~/.ssh/authorized_keys

5、验证~/.ssh目录权限是否为700、authorized_keys文件权限是否为600,任一超标将导致sshd静默拒绝认证。

五、使用ssh-add将私钥加入钥匙串管理

为避免每次连接重复输入passphrase,可借助macOS钥匙串自动填充凭证,前提是私钥已设密码且钥匙串已解锁。

1、在终端中执行:ssh-add --apple-use-keychain ~/.ssh/id_ed25519

2、系统将弹出图形化提示框,要求输入该私钥的passphrase;

3、勾选“在钥匙串中记住密码”选项后点击“好”;

4、此后在当前会话及新终端中执行ssh连接时,将自动从钥匙串提取凭证;

5、如需查看已添加的密钥列表,运行:ssh-add -l

本文地址:https://www.vszh.cn/article/1442494.html

如非特殊说明,本站内容均来自于网友自主分享,如有任何问题均请联系我们进行处理!

猜您喜欢