![获取“加载密钥“/root/.ssh/”:执行“ssh -i ~/.ssh root@IP_address”时为目录](https://linux22.com/image/1182218/%E8%8E%B7%E5%8F%96%E2%80%9C%E5%8A%A0%E8%BD%BD%E5%AF%86%E9%92%A5%E2%80%9C%2Froot%2F.ssh%2F%E2%80%9D%EF%BC%9A%E6%89%A7%E8%A1%8C%E2%80%9Cssh%20-i%20~%2F.ssh%20root%40IP_address%E2%80%9D%E6%97%B6%E4%B8%BA%E7%9B%AE%E5%BD%95.png)
我正在尝试登录我在 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
或其他方式。