Win7下AZ-CLI执行az ssh vm命令提示找不到ssh-keygen.exe求助
Azure CLI SSH连接报错解决方案
根因说明
AZ CLI执行az ssh vm命令时会从Windows系统环境变量PATH中搜索ssh-keygen.exe程序,Git自带的ssh组件路径默认没有添加到系统PATH中,因此即使Git Bash内能正常运行ssh-keygen,AZ CLI调用时仍然会找不到可执行文件。
解决步骤
- 第一步:定位Git的ssh组件路径,默认安装路径为
C:\Program Files\Git\usr\bin,该目录下可直接找到ssh-keygen.exe文件;如果自定义了Git安装路径,对应调整到安装目录下的\usr\bin子目录即可 - 第二步:添加路径到系统环境变量
- 右键点击「计算机」→ 选择「属性」→ 点击左侧「高级系统设置」→ 点击底部「环境变量」
- 在「系统变量」列表中找到
Path变量,双击编辑 - 把第一步找到的ssh组件路径添加到变量值末尾,注意和前一个路径之间用英文分号
;分隔 - 依次点击所有窗口的「确定」保存配置
- 第三步:验证配置生效
- 重新打开新的CMD窗口,执行
ssh-keygen --version,确认有正常版本信息返回,不要使用之前已经打开的CMD/Git Bash窗口,旧窗口不会加载更新后的环境变量 - 再次执行
az ssh vm --ip MY_VM_IP命令即可正常运行
- 重新打开新的CMD窗口,执行
临时替代方案
如果不想修改系统环境变量,也可以在CMD中临时指定ssh组件路径后执行命令:
set PATH=%PATH%;C:\Program Files\Git\usr\bin az ssh vm --ip MY_VM_IP
注意替换路径为你本地Git实际的ssh组件所在路径。
内容的提问来源于stack exchange,提问作者Sachin Vairagi
相关产品推荐
相关产品推荐

