我有一个 Debian Jessie 服务器,我想验证服务器上关于 DNS SSHFP 记录的 ssh 密钥的指纹。这很好用,但是如果客户端通过 ssh 连接到服务器,服务器会提供ssh-ecdsa
算法。我想配置只有 ssh-ed25519 并且ssh-rsa
是受支持算法的 ssh 守护进程。对于 Ubuntu 16.04,我使用 ssh 配置密钥HostKeyAlgorithms
,但如果我在 Debian 上使用此密钥,我将无法启动守护进程。
为什么守护程序不支持此配置密钥,或者我必须使用其他配置密钥来仅支持 ssh-ed25519 和 ssh-rsa 算法?
这是我的 sshd_config
AcceptEnv LANG LC_*
AuthorizedKeysFile %h/.ssh/authorized_keys
ChallengeResponseAuthentication no
HostbasedAuthentication no
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
#HostKeyAlgorithms ssh-ed25519,ssh-rsa
KeyRegenerationInterval 3600
LoginGraceTime 120
LogLevel INFO
MaxAuthTries 10
MaxSessions 5
PasswordAuthentication no
PermitEmptyPasswords no
PermitRootLogin without-password
Port 22
PrintMotd no
PrintLastLog no
Protocol 2
RSAAuthentication no
PubkeyAuthentication yes
ServerKeyBits 4096
StrictModes yes
SyslogFacility AUTH
RhostsRSAAuthentication no
Subsystem sftp /usr/lib/openssh/sftp-server
TCPKeepAlive yes
UsePAM no
UsePrivilegeSeparation yes
HostKeyAlgorithms
未在 OpenSSH 6.7p1 中实现,它在 Debian Jessie 中可用。如果您从配置中删除相应的密钥,
HostKey
服务器将不会提供该密钥(以下行):