每次通过 ssh 连接到远程服务器时,我都需要提供密码。我使用以下命令将我的公钥 (id_dsa.pub) 复制到远程服务器:
ssh-copy-id -i id_dsa.pub user@server
Run Code Online (Sandbox Code Playgroud)
我检查它是否正确添加到authorized_keys。所有文件/目录权限都正确:
~user 755
~user/.ssh 700
~user/.ssh/authorized_keys 640
~user/.ssh/id_dsa.pub 644
Run Code Online (Sandbox Code Playgroud)
/etc/ssh/sshd_config 中的 PasswordAuthentication 字段设置为 yes。我将 sshd 置于调试模式并将详细开关添加到 ssh 命令。我的印象是服务器没有尝试使用 id_pub.dsa 因为线路
Skipping ssh-dss key: ........... not in PubkeyAcceptedKeyTypes
Run Code Online (Sandbox Code Playgroud)
服务器端没有加密光盘。任何想法如何进步?这是 ssh 守护进程调试信息:
sudo /usr/sbin/sshd -d
====
debug1: sshd version OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: key_parse_private2: missing begin marker
debug1: read PEM private key done: type RSA
debug1: private host key: #0 type 1 RSA
debug1: key_parse_private2: missing begin marker
debug1: read …
Run Code Online (Sandbox Code Playgroud)