网络知识
Linux下OpenSSL如何生成密钥对
2025-07-18 09:37  点击:1

在Linux下使用OpenSSL生成密钥对(包括私钥和公钥)非常简单。以下是详细步骤:

生成RSA密钥对

    打开终端:打开你的Linux终端。

    生成私钥:使用以下命令生成一个2048位的RSA私钥:

    openssl genrsa -out private_key.pem 2048

    这条命令会生成一个名为private_key.pem的文件,其中包含生成的私钥。

    生成公钥:使用私钥生成对应的公钥:

    openssl rsa -in private_key.pem -pubout -out public_key.pem

    这条命令会读取private_key.pem文件中的私钥,并生成一个名为public_key.pem的公钥文件。

生成ECDSA密钥对

如果你需要生成ECDSA密钥对,可以使用以下命令:

    生成私钥:

    openssl ecparam -name secp256k1 -genkey -noout -out private_key.pem

    这条命令会生成一个名为private_key.pem的ECDSA私钥文件。

    生成公钥:

    openssl ec -in private_key.pem -pubout -out public_key.pem

    这条命令会读取private_key.pem文件中的私钥,并生成一个名为public_key.pem的公钥文件。

验证密钥对

你可以使用以下命令来验证生成的密钥对是否正确:

验证私钥:

openssl rsa -in private_key.pem -check -noout

如果私钥有效,命令会输出类似“RSA key ok”的信息。

验证公钥:

openssl rsa -pubin -in public_key.pem -check -noout

如果公钥有效,命令会输出类似“RSA key ok”的信息。

注意事项确保生成的密钥文件(private_key.pempublic_key.pem)存储在安全的位置,并且只有授权用户可以访问私钥文件。如果你需要将公钥添加到远程服务器的~/.ssh/authorized_keys文件中,可以使用以下命令:
cat public_key.pem | ssh user@remote_host 'mkdir -p ~/.ssh && echo "$0" >> ~/.ssh/authorized_keys'

通过以上步骤,你就可以在Linux下使用OpenSSL生成RSA或ECDSA密钥对了。