ssh参数:KexAlgorithms、HostKeyAlgorithms 和 PubkeyAcceptedKeyTypes

SmallerFL 2024-10-19 13:37:01 阅读 62

文章目录

0. 前言1. KexAlgorithms2. `HostKeyAlgorithms`3. `PubkeyAcceptedKeyTypes`4. 配置文件示例


0. 前言

在 SSH (Secure Shell) 协议中,<code>KexAlgorithms、HostKeyAlgorithmsPubkeyAcceptedKeyTypes 是三个重要的参数,它们控制着 SSH 会话中的密钥交换算法、主机密钥算法以及公钥认证所接受的密钥类型。这些参数可以在 SSH 配置文件(如 /etc/ssh/sshd_config~/.ssh/config)中定义。

例如:

ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedKeyTypes=+ssh-rsa root@127.0.0.1

1. KexAlgorithms

此参数用于指定 SSH 连接过程中使用的密钥交换算法列表。常见的算法包括:

curve25519-sha256curve25519-sha256@libssh.orgecdh-sha2-nistp256ecdh-sha2-nistp384ecdh-sha2-nistp521diffie-hellman-group-exchange-sha256diffie-hellman-group16-sha512diffie-hellman-group18-sha512

配置示例:

KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256

2. HostKeyAlgorithms

此参数用于指定用于服务器身份验证的主机密钥算法列表。常见的算法包括:

ssh-ed25519rsa-sha2-256rsa-sha2-512ecdsa-sha2-nistp256ecdsa-sha2-nistp384ecdsa-sha2-nistp521

配置示例:

HostKeyAlgorithms ssh-ed25519,rsa-sha2-256,rsa-sha2-512

3. PubkeyAcceptedKeyTypes

此参数用于指定允许用于客户端认证的公钥类型。常见的类型包括:

ssh-ed25519rsa-sha2-256rsa-sha2-512ecdsa-sha2-nistp256ecdsa-sha2-nistp384ecdsa-sha2-nistp521

配置示例:

PubkeyAcceptedKeyTypes ssh-ed25519,rsa-sha2-256,rsa-sha2-512

4. 配置文件示例

/etc/ssh/sshd_config 文件中添加或修改上述参数的配置:

KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256

HostKeyAlgorithms ssh-ed25519,rsa-sha2-256,rsa-sha2-512

PubkeyAcceptedKeyTypes ssh-ed25519,rsa-sha2-256,rsa-sha2-512

~/.ssh/config 文件中添加或修改上述参数的配置:

Host example.com

KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256

HostKeyAlgorithms ssh-ed25519,rsa-sha2-256,rsa-sha2-512

PubkeyAcceptedKeyTypes ssh-ed25519,rsa-sha2-256,rsa-sha2-512


欢迎关注本人,我是喜欢搞事的程序猿; 一起进步,一起学习;

欢迎关注知乎/CSDN:SmallerFL

也欢迎关注我的wx公众号(精选高质量文章):一个比特定乾坤

在这里插入图片描述



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。