由于“没有此文件或目录”而导致基于 SSH 密钥的 Ubuntu 身份验证失败?

由于“没有此文件或目录”而导致基于 SSH 密钥的 Ubuntu 身份验证失败?

我正在尝试使用基于 SSH 密钥的身份验证访问我的 vps。这是我尝试过的:

1.使用 PuTTYgen 在 Windows 中创建公钥和私钥

2.将公钥的单行格式复制到此文件中,/home/username/.ssh/authorised_keys 密钥如下所示:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAxjoUKeoEWdpazINZ1WmEiierZ1eC/OtQ6r0MFBofBg3oSvzF0o3mqzJB2rklNAcFoiQ/MHB5nk7lLfb82Ny7np9vYXoprZinM68PSjfhNd20QfXRJfeTaKZqWtzv64r+zOPs3n32FEfSY5x5numk6YqZ1AjbwyU2/HhEUN35FzyjofZjCiR9BM5eaylf8yJ/fgHVoFBVuL7N5jsbPG6fP2ZEIGSBFH6DCN+HEpvySFzdgy2KkznRl0/o1dWc3FU8NaqZG+M1JZzEIjehEuaVwMFrIQxdHXoZCY7OJHHwWFOQCWhYScTh3PeOnvPnU6LYBLgAG+felrdQrho2My9jxw== rsa-key-20191225

3.sudo chmod 700 ~/.ssh

4.sudo chmod 600 ~/.ssh/authorized_keys

5.sudo chown -R $(whoami):$(whoami) ~/.ssh/

当我尝试使用 PuTTY 中加载的私钥进行连接时,日志中出现此错误:`

Dec 26 00:27:34 berbidserver sshd[29601]: debug1: Could not open authorized keys '/home/tarantula/.ssh/authorized_keys': No such file or directory
Dec 26 00:27:34 berbidserver sshd[29601]: debug1: restore_uid: 0/0
Dec 26 00:27:34 berbidserver sshd[29601]: debug1: temporarily_use_uid: 1001/1001 (e=0/0)
Dec 26 00:27:34 berbidserver sshd[29601]: debug1: trying public key file /home/tarantula/.ssh/authorized_keys2
Dec 26 00:27:34 berbidserver sshd[29601]: debug1: Could not open authorized keys '/home/tarantula/.ssh/authorized_keys2': No such file or directory

`

答案1

但是,当您创建文件夹 ~/.ssh 并复制文件时,您是否使用用户 tarantula 通过 SSH 连接到服务器?我猜您是以 root 身份通过 SSH 连接的,这就是为什么在用户 tarantula 的主目录中找不到这些文件的原因。它们很可能在 /root 中。

如果你不想授予用户 tarantula SSH 权限,你可以这样做:

  1. 以 root 身份通过 SSH 连接到服务器
  2. 然后输入:su - tarantula以 tarantula 身份登录
  3. 以 tarantula 身份登录后,添加 .ssh 文件夹(如果尚不存在),复制文件

答案2

真的很简单,你使用的是授权的英文拼写,而 ubuntu 使用美国版本的授权(带有 Z)

相关内容