如果要支持x509v3-ecdsa-sha2-nistp* 类型的Hostkey,现有的openssh是不支持的。PKIXSSH就是在OpenSSH的基础上对x509类型的Host可以进行了支持。PKIXSSH 传送门
下面记录一下如何安装和配置PKIXSSH
下载与安装
系统为CentOS
> wget http://roumenpetrov.info/secsh/src/pkixssh-10.2.tar.gz
> tar xzf pkixssh-10.2.tar.gz
> cd pkixssh-10.2
> yum install gcc
> yum install zlib-devel
> yum install openssl-devel
> yum install make
> yum install automake
> ./configure --prefix=/opt/pkixssh --enable-openssl-fips --enable-pkcs11
> make
> make install
生成Hostkey
ssh-keygen 可以生成ecdsa类型的Hostkey:
> ssh-keygen -t ecdsa -b 384
> ssh-keygen -t ecdsa -b 521
但是,想要生成x509v3-ecdsa-sha2-nistp*类型的HostKey,需要openssl
> openssl ecparam -list_curves
上面这条命令,列出了openssl支持的ECC的类型以及名称,在后面生成是需要用到其中的名称
> openssl ecparam -name secp384r1 -genkey -param_enc explicit -out 394-priv.pem
> openssl req -new -x509 -key 384-priv.pem -out 384-pub.pem -days 730
> cat 384-priv.pem 384-pub.pem > id_ecdsa.384
上面命令中的secp384r1就是在list_curves中列出的名称。
注意,在用PKIXSSH的时候,需要把private和public合并成一个文件。
配置
用vim打开sshd_config进行配置:
HostKey /root/.ssh/x509.ecdsa/id_ecdsa.384
X509KeyAlgorithm x509v3-ecdsa-sha2-nistp384,sha384,ecdsa-sha2-nistp384
启动与调试
/opt/pkixssh/sbin/sshd -D
网友评论