从Cpanel Git克隆项目遇SSH主机标识变更等问题求助
解决Mac克隆Cpanel Git项目的SSH问题
先处理核心根源:避免不必要的sudo
你之前用sudo执行命令,会切换到root用户环境,导致SSH配置、known_hosts文件都和普通用户不一致,这是后续清理无效的关键原因。优先尝试不用sudo的方案:
方案1:普通用户直接克隆
如果当前用户权限足够,直接用以下命令(同时兼容主机支持的ssh-rsa和ssh-dss密钥类型):
GIT_SSH_COMMAND="ssh -oHostKeyAlgorithms=+ssh-rsa,ssh-dss" git clone ssh://mlbrpkxs@mlbranch.com:21098/home/mlbrpkxs/unified.mlbranch.com
解决主机标识变更验证失败问题
如果必须用sudo,之前清理的是普通用户的~/.ssh/known_hosts,但root用户的known_hosts在/var/root/.ssh/known_hosts,所以清理操作没生效。按以下步骤来:
- 清理root用户的主机密钥记录:
sudo ssh-keygen -R "[mlbranch.com]:21098" - 若仍无效,直接清空root的
known_hosts:sudo echo "" > /var/root/.ssh/known_hosts - 执行带参数的sudo克隆命令,此时会提示确认主机密钥,输入
yes即可:sudo GIT_SSH_COMMAND="ssh -oHostKeyAlgorithms=+ssh-rsa,ssh-dss" git clone ssh://mlbrpkxs@mlbranch.com:21098/home/mlbrpkxs/unified.mlbranch.com
额外优化方案(一劳永逸)
在普通用户的~/.ssh/config中添加主机专属配置,后续不用每次加命令行参数:
Host mlbranch.com Port 21098 HostKeyAlgorithms +ssh-rsa,ssh-dss
保存后,直接执行git clone ssh://mlbrpkxs@mlbranch.com/home/mlbrpkxs/unified.mlbranch.com即可(端口已经在配置里指定)。
内容的提问来源于stack exchange,提问作者Qazi Ammar
相关产品推荐
相关产品推荐

