获取“加载密钥“/root/.ssh/”:执行“ssh -i ~/.ssh root@IP_address”时为目录

获取“加载密钥“/root/.ssh/”:执行“ssh -i ~/.ssh root@IP_address”时为目录

我正在尝试登录我在 IBM 云中创建的实例。

当我尝试执行命令“ssh -i ~/.ssh root@[我的实例的 IP 地址]”时,收到错误“加载密钥“/root/.ssh/”:目录 root@[我的实例的 IP 地址] 的密码是:

在执行此命令之前,我确实运行了 ssh-keygen 并能够生成一组新的文件,即 id_rsa 和 id_rsa.pub。

我已经在 2 个文件 id_rsa 和 id_rsa.pub 上运行了 chmod 700,但这似乎没有起作用。

有人能帮助我理解为什么上面的命令,即“ssh -i ~/.ssh root@[我的实例的 IP_address] 会导致这个错误吗?

答案1

-i选项需要私钥的名称文件,而不是目录的名称包含文件:

ssh -i ~/.ssh/id_rsa root@[IP_address of my instance]

但是,由于~/.ssh/id_rsa是默认的 RSA 密钥文件,因此您可以-i完全省略该选项及其参数

ssh root@[IP_address of my instance]

当然,为了使身份验证成功,您需要将公钥复制到authorized_keys远程帐户上的文件中 - 使用ssh-copy-id或其他方式。

相关内容