我正在尝试使用基于 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 权限,你可以这样做:
- 以 root 身份通过 SSH 连接到服务器
- 然后输入:
su - tarantula
以 tarantula 身份登录 - 以 tarantula 身份登录后,添加 .ssh 文件夹(如果尚不存在),复制文件
答案2
真的很简单,你使用的是授权的英文拼写,而 ubuntu 使用美国版本的授权(带有 Z)