6

MacOS Sonoma14.2.1系统SSH免密登录 - Mr老刘

 8 months ago
source link: https://www.cnblogs.com/boyliupan/p/17934079.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

MacOS Sonoma14.2.1系统SSH免密登录

摘要:MacOS下免密登录的一些注意事项。

系统环境
操作系统:macOS Sonoma 14.2.1

SSH免密登录
ssh免密登录的原理是在本机生成本机的ssh公钥和私钥,将公钥上传至待连接的主机,本机通过私钥进行ssh连接实现免密登录。

# ssh密钥生成命令ssh-keygen
# ssh上传(复制)命令# ssh-copy-id格式:ssh-copy-id -i 私钥 远程主机用户名@远程主机IP# ssh-copy-id命令示例ssh-copy-id -i ~/.ssh/id_liupp [email protected]
# ssh登录# 命令格式: ssh -i 私钥 远程主机用户名@远程主机IP# ssh登录示例:ssh -i ~/.ssh/id_liupp [email protected]

关于这两个命令的具体用法可以通过搜索引擎查询.

# ssh免密连接命令ssh root@IP

回车后仍然提示输入密码,通过搜索引擎查询,得出的结果是mac系统下需要使用“ssh-add”命令将私钥添加至ssh-agent高速缓存:

# ssh-add 命令格式# ssh -add -K 私钥# 示例:ssh -add -K ~/.ssh/id_liupp但输入后提示: WARNING: The -K and -A flags are deprecated and have been replaced by the --apple-use-keychain and --apple-load-keychain flags, respectively. To suppress this warning, set the environment variable APPLE_SSH_ADD_BEHAVIOR as described in the ssh-add(1) manual page.

释义为-K参数对于Mac来说已经过期,需要将“-K”参数换成“–apple-use-keychain”:

# ssh-add 命令格式# ssh -add -K 私钥# 示例:ssh-add --apple-use-keychain ~/.ssh/id_liupp

添加成功后再在终端执行 “ssh root@IP”即可实现免密登录。

存在问题及解决方案
经过使用发现一个问题,即是在本机重启后,免密登录会失效,经查询得知,ssh-add将私钥添加到高速缓存,但缓存在重启后会失效,需要每次重启后重新添加,在mac下的解决方案是:

1.在“应用程序”中的找到“自动操作”应用(或CTRL+SPACE)搜索自动操作
2.打开后默认弹出选择文件对话框,点击“取消”,点击启动栏的自动操作图标,“选取文稿类型”中选择“应用程序”:
3.左侧“资源库”选择“实用工具”,双击右侧的“运行shell脚本”将ssh-add命令复制至运行脚本脚本中,点击标题栏左侧的“未命名”,起个名字(这里命名为add-ssh-key)并保存至指定位置。
4.打开“系统设置”,左侧搜索栏搜索“登录项”,在“登录项”的“登录时打开”中将保存的自动执行程序(add-ssh-key)添加进来.
5.重启后验证,至此配置完毕。
6.操作步骤图示见下方:

30693-20231229094109707-44602719.png
30693-20231229094119052-970790575.png
30693-20231229094127818-1723482621.png

本文作者: Mr Liu
本文链接: https://it-liupp.gitee.io/2023/12/25/mac-ssh-autologin/
博客园链接:https://www.cnblogs.com/boyliupan/p/17934079.html
版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK