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

fab*_*joa 5 ssh

所以我已经获得了对服务器的 ssh 访问权限。我有用户名/密码,但服务器显然需要公钥(现在请记住,我是 ssh 中的菜鸟)。当我做:

ssh -p 52 user@server.com
Run Code Online (Sandbox Code Playgroud)

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

ssh-keygen -t rsa
Run Code Online (Sandbox Code Playgroud)

并得到了我自己的id_rsa,并id_rsa.pub files/root/.ssh。Chmoded/root/.ssh到 700 和/root/.ssh/*600。再次尝试 sshing server.com,同样的错误。

我错过了什么?server.com 的 SYSADMIN 给了我一个 Putty Pagant 密钥文件 (.ppk)。显然,其他用户(所有 Windows)可以使用 Putty Pagant.exe 进行连接。请帮忙 :)

Sim*_*n B 11

如果系统管理员为您提供了 .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
Run Code Online (Sandbox Code Playgroud)

此外,还有一些mac 指令 也应该有效

注意在运行命令时

puttygen /path/to/puttykey.ppk -O private-openssh -o ~/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)

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

ssh -p 52 user@server.com
Run Code Online (Sandbox Code Playgroud)