Mac端配置OpenSSH连接AWS EC2实例时遇权限及主机真实性验证问题
Mac端配置OpenSSH连接AWS EC2实例时遇权限及主机真实性验证问题
嗨,我来帮你搞定这两个连接AWS EC2时碰到的问题~
一、解决sh/known_hosts: Permission denied权限错误
这个报错是因为Mac上~/.ssh目录或者known_hosts文件的权限不符合SSH的安全要求,SSH对这俩的权限限制特别严,绝不能让其他用户有读写权限。按下面步骤修复就行:
- 先查权限:打开终端,依次跑这两个命令看看当前权限:
ls -ld ~/.ssh ls -l ~/.ssh/known_hosts - 改权限:如果
.ssh目录的权限不是700,执行:
如果chmod 700 ~/.sshknown_hosts文件的权限不是600,执行:
要是你发现chmod 600 ~/.ssh/known_hostsknown_hosts文件压根不存在,那就是第一次连接时.ssh目录权限不对,导致没法自动创建这个文件,先把目录权限改成700再重新连就好。
二、处理主机真实性验证的提示
你看到的这段提示:
The authenticity of host 'ec2-54-174-166-107.compute-1.amazonaws.com (54.174.166.107)' can't be established.
ED25519 key fingerprint is SHA256:EvaawFoJ54XgUbaGbUXft5t1qUlbMl1rNnSWtsBj4Uw.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
这其实是SSH的正常安全机制,因为你是第一次连这个EC2实例,本地还没存过这台主机的密钥指纹,SSH得让你确认这台主机是你要连的目标,防止被中间人攻击。
怎么处理?
- 要是这台实例是你刚创建的,确定没被篡改的可能,直接在终端输入
yes回车就行,之后这台主机的指纹会自动存到~/.ssh/known_hosts里,下次再连就不会弹这个提示了。 - 要是你担心指纹不对,可以登AWS EC2控制台,找到你的实例,在“连接”标签页里查看对应的主机密钥指纹,和终端显示的对比一致了再确认。
备注:内容来源于stack exchange,提问作者Kendra Adams
相关产品推荐
相关产品推荐

