无法通过 SSH 连接到远程服务器(需要公钥)

无法通过 SSH 连接到远程服务器(需要公钥)

所以我被授予了 ssh 服务器的访问权限。我有用户名/密码,但服务器显然需要公钥(现在请记住,我是 ssh 新手)。当我这样做时:

ssh -p 52 [email protected]

终端说Permission denied (publickey)。所以我开始使用

ssh-keygen -t rsa

并得到了和。id_rsa将Chmod改为 700 和600。再次尝试 sshing server.com,错误相同。id_rsa.pub files/root/.ssh/root/.ssh/root/.ssh/*

我遗漏了什么?server.com 的系统管理员给了我一个 Putty Pagant Key 文件 (.ppk)。显然,其他用户(所有 Windows)都可以使用 Putty Pagant.exe 进行连接。请帮忙 :)

答案1

如果系统管理员已向您提供了 .ppk 文件,则可以使用 puttygen 创建 ssh 密钥文件(从软件中心安装 putty-tools)

Install putty:
sudo apt install putty putty-tools
Create the public key file:
puttygen /path/to/puttykey.ppk -L > ~/.ssh/id_rsa.pub
Create the private key file:
puttygen /path/to/puttykey.ppk -O private-openssh -o ~/.ssh/id_rsa

此外,还有一些mac 说明 这也应该有效

请注意,运行命令时

puttygen /path/to/puttykey.ppk -O private-openssh -o ~/.ssh/id_rsa

它可能会要求输入密码来解密密钥,另外你应该以建立 ssh 连接的用户身份运行它,以便它将密钥存储在正确的目录中(〜符号相当于当前用户的主目录)然后在检查 chmod 权限正确后,你可以使用

ssh -p 52 [email protected]

答案2

答案这个问题可能会对您有所帮助。通常,要使用公钥身份验证,您必须先将私钥复制到另一台服务器;因此,除非系统管理员为您提供了服务器上已有的公钥/私钥对,否则您将无法使用该密钥登录。

答案3

ssh-keygen (press enter enter enter till you get the image)
user@ubuntu1:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): 
/home/user/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again: 
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
5e:80:dd:36:0f:00:b6:58:bc:ae:a4:87:c8:bd:c1:f8 user@ubuntu1
The key's randomart image is:
+--[ RSA 2048]----+
|     .+..        |
|     +.+ o       |
|    . o.o =      |
|      .  o +     |
|     .  S . .    |
|  o . .. .       |
|.o.* .  .        |
|..+.+            |
|   E.            |
+-----------------+

ssh-copy-id -i [email protected]. 

您将看到以下内容

(一旦输入密码就会要求输入)

user@ubuntu1:~$ ssh-copy-id -i root@ip
root@ip's password: 

现在尝试使用“ssh 'root@ip'”登录机器,并检查:

    ~/.ssh/authorized_keys

以确保我们没有添加您意想不到的额外键。

  • 现在你应该能够执行 ssh 而不需要输入密码了

答案4

  • 亲爱的,你做得很好,但失去了注意力,有两个步骤,不管怎样,感谢你的好主意,我刚刚克服了。

    ssh-keygen -t rsa
    ssh-keygen -t dsa 
    cd /root/.ssh/ 
    cp **** /etc/ssh/ 
    

    现在替换 4 个相应的文件

相关内容