如何解决ssh认证问题?

如何解决ssh认证问题?

我尝试使用 ssh 登录远程服务器而无需密码,但出现错误:

Permission denied (publickey)

要将 .pub 密钥复制到服务器,我有:

PasswordAuthentication = yes (in the sshd_config file).

复制 .pub 密钥后,我在 ssh_config 中禁用了密码:

PasswordAuthentication = no

现在当我尝试 ssh 时:

ssh'[电子邮件受保护]'

我收到错误:

Permission denied (publickey)

我该如何解决这个问题?

我已经更改了authorized_keys权限、.ssh/权限等,但问题仍然存在。我什至使用了 ssh-agent $SHELL && ssh-add 命令。

答案1

我总是使用以下步骤创建与远程计算机的新 ssh 连接:

  1. 生成一个新的ssh密钥对(只需按 Enter 直到返回 shell):

    localhost$ ssh-keygen -t rsa
    localhost$ cp .ssh/id_rsa.pub .ssh/authorized_keys
    
  2. 将新创建的公钥复制到远程计算机:

    localhost$ ssh-copy-id username@myIP
    username@myIP password:
    
  3. 现在尝试登录(不会出现密码提示):

    ssh username@myIP
    

注意:我从不编辑ssh_configsshd_config所以也许您可以将它们恢复到原始状态,除非它们已经连接。

相关内容