解决Enter passphrase for key

本文介绍了解决SSH免密登录过程中遇到的权限错误和输入私钥的问题。通过修改公钥文件权限并使用ssh-agent和ssh-add命令管理密钥,实现SSH免密码登录。

之前写过一片文章,记下了如何通过ssh免密登录:《ssh免密码+别名登录

今天在服务器上使用同样的方法,发现有两点问题:

1.提示“ Permissions 0644 for ‘/root/.ssh/id_rsa.pub’ are too open”

解决方法:使用chmod 0600 /root/.ssh/id_rsa.pub更改将公钥权限改成“600”

2.提示“Enter passphrase for key /root/.ssh/id_rsa.pub”让输入私钥,可不论输与不输都不能直接登录

解决方法:
在本地执行:

eval `ssh-agent`
ssh-add

ssh-agent是用于管理密钥,ssh-add用于将密钥加入到ssh-agent中,SSH可以和ssh-agent通信获取密钥,这样就不需要用户手工输入密码了。
顺序执行以上两条命令后就可以用ssh免密登录远程机器了,但这个配置只对当前会话生效,会话关闭或机器重启后都需要重新执行这两条命令。将命令放到~/.bash_profile中,就可以免去每次输入的麻烦。

相关内容定期更新,本号默认不接受白嫖,打不打赏不要紧,点赞、收藏都不来就太不够意思了。

在使用SSH密钥进行身份验证时,如果用户被提示输入私钥的密码短语(passphrase),这通常是因为私钥文件在生成时设置了密码保护。这种提示是SSH客户端要求用户输入用于解锁私钥的密码短语[^1]。 ### 常见场景 - **SSH连接服务器**:当使用带有密码短语的私钥文件(如`id_rsa`)连接远程服务器时,SSH客户端会提示输入密码短语。 - **Passphrase的作用**:密码短语为私钥提供额外的安全保护层,即使私钥文件被泄露,攻击者也无法直接使用它进行身份验证。 ### 如何避免每次连接都输入Passphrase 如果希望避免每次连接时都需要输入密码短语,可以使用`ssh-agent`工具来管理私钥。`ssh-agent`是一个用于管理SSH私钥的程序,它可以临时存储解密后的私钥,并在需要时自动提供给SSH客户端。 #### 使用`ssh-agent`的步骤 1. **启动`ssh-agent`**(Linux/macOS): ```bash eval $(ssh-agent) ``` 2. **将私钥添加到`ssh-agent`**: ```bash ssh-add ~/.ssh/id_rsa ``` 此时会提示输入密码短语,输入后私钥将被缓存。 3. **验证私钥是否已添加成功**: ```bash ssh-add -l ``` 该命令会列出已添加到`ssh-agent`中的所有私钥。 4. **连接远程服务器**: ```bash ssh user@remote_host ``` 此时无需再次输入密码短语。 ### 修改或删除Passphrase 如果不再需要密码短语,可以通过以下命令修改或删除它: ```bash ssh-keygen -p ``` 系统会提示输入私钥文件路径(默认为`~/.ssh/id_rsa`),然后要求输入当前密码短语,并允许设置新密码短语或留空以删除现有密码短语。 ### 注意事项 - **权限问题**:确保私钥文件的权限设置正确,通常应为`0600`,即仅所有者可读写。如果权限过于开放(如`0664`),SSH客户端可能会拒绝使用该私钥[^2]。 ```bash chmod 600 ~/.ssh/id_rsa ``` - **主机密钥变更**:如果远程主机的SSH密钥发生更改,可能会提示`WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!`。此时应清除旧的主机密钥: ```bash ssh-keygen -R remote_host_ip ``` ---
评论 12
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高晓伟_Steven

相逢即是有缘,动力源于金钱。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值