权限被拒绝(公钥)-mac

权限被拒绝(公钥)-mac

我无法登录我的 droplet。这是我针对此问题发表的另一篇帖子,虽然没有解决我的问题,但解释了我尝试过的一些方法。 https://stackoverflow.com/questions/52917470/permission-denied-publickey-digital-ocean/52972508?noredirect=1#comment92856534_52972508

我刚刚尝试过的:

  1. ssh-key gen。命名密钥portfolio。命名会不会有问题?我的机器上唯一能用的密钥是默认名称为的密钥id_rsa,但该名称不能有多个密钥集。调试中有一行显示,Offering public key: RSA SHA256:blahblah /Users/ME/.ssh/id_rsa所以它看起来像是连接到错误的密钥???我尝试连接到名为的特定私钥。不行。ssh -i ~/.ssh/portfolio [email protected]portfolioPermission denied (publickey).

  2. 登录 DO 控制台内的服务器。。nano /.ssh/authorized_keys复制我的公钥(名为 portfolio)。明白了这里

  3. 创建新用户并保存。
  4. 使用我的 Mac 上的终端测试密钥对ssh -v -i ~/.ssh/portfolio [email protected]

大胖子Permission denied (publickey).显然登录也不起作用。为什么?密钥匹配且到位,但仍然找不到对方。

进一步调试:使用数字海洋控制台,目前这是我访问我的 droplet 的唯一方式,我发现复制/粘贴不起作用。粘贴公钥会产生一串与真实密钥完全不同的字符。这甚至发生在 nano 中。

答案1

我想更新一下我是如何解决这个问题的。问题是:

  1. 密钥没有正确传送到服务器。或者传送到的版本不正确。
  2. 一旦我放置了正确的密钥,我的本地机器和服务器就找不到彼此匹配的正确密钥。

已解决1.-ssh-copy-id -i ~/.ssh/mykey root@MY-IP尝试复制公钥失败。~/.ssh/authorized_keys由于我在本地被锁定,我还尝试将其直接粘贴到 Digital Ocean 控制台中,但粘贴的许多字符都是错误的。粘贴功能有些问题,而 Digital Ocean 员工对此一无所知。

因此,为了在本地工作,我在 DO 控制台上重置了 root PW,然后在本地机器上重置了 root PW,但使用了密码。然后我粘贴了公钥并使用 diff 工具确保它们相同。这次是相同的。ssh [email protected]~/.ssh/authorized_keys

已解决 2. - 密钥仍然无法连接。我只能使用-i标志进行连接(这意味着identity _file并手动连接密钥), 但我不想每次都输入这个,所以我做了一个。ssh -i ~/.ssh/mykey [email protected]~/.ssh/config

Host myapp
    User user1
    HostName 123.456.789.10
    IdentityFile ~/.ssh/mykey

然后,ssh myappp我就可以登录了。不知道为什么会发生这些事情。我想可能是因为我没有正确命名它们,因为id_rsa工作正常,但id_rsa2事实并非如此,所以不知道是什么原因。然后就可以工作了,但是这些解决方法解决了这个问题。

答案2

对我来说,对于我的新 droplet 来说,这更简单。我没有为 droplet 分配防火墙,允许在端口 22 上使用 SSH。

相关内容