
正文
linux命令行创建密钥 linux创建用户和密码代码
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何在linux里为ca生成一个私钥
[root@apache ~]# yum install openssl
生成证书文件
创建一个rsa私钥,文件名为server.key
[root@apache ssl]# openssl genrsa -out server.key 1024
Generating RSA private key, 1024 bit long modulus
…………++++++
…………++++++
e is 65537 (0x10001)
用 server.key 生成证书签署请求 CSR
openssl req -new -key server.key -out server.csr
Country Name:两个字母的国家代号
State or Province Name:省份名称
Locality Name:城市名称
Organization Name:公司名称
Organizational Unit Name:部门名称
Common Name:你的姓名
Email Address:地址
至于 ‘extra’ attributes 不用输入.直接回车
生成证书CRT文件server.crt。
[root@apache ssl]# openssl x509 -days 365 -req -in server.csr -signkey server.key -out server.crt
相关问答
Q1: linux生成的rsa秘钥在哪
方法一,有linux命令行创建密钥的时候经常需要登录ssh,每次都需要输入密码,会比较繁琐。所以设置了一下使用RSA公钥认证的方式登录Linux。首先需要在服务器端设置/etc/ssh/sshd_config# vim /etc/ssh/sshd_config修改如下两行为yes。其实大多数情况下不用修改,默认就是yes。RSAAuthentication yesPubkeyAuthentication yes(1) 如果客户机和服务器都是Linux机器,那么我们使用下面的方法linux命令行创建密钥:(后面第2节会提到怎么在Windows下使用Putty生成密钥对)我们需要在客户端生成RSA密钥对。使用ssh-keygen命令linux命令行创建密钥:# ssh-keygen -t rsa参数t的意思是type,后面跟着加密类型,这里我们是rsa。然后会提示linux命令行创建密钥你输入密钥保存完成文件名,这里我们需要使用默认的id_rsa,之后才能正常才能登录。如果你生成的密钥作为其他用处,那么可以命名为其他名称:Generating public/private rsa key pair.Enter file in which to save the key (/home/cake/.ssh/id_rsa):之后会提示你输入一个passphrase,我们这里可以留空,这样我们登录的时候就不许输入密码。Enter passphrase (empty for no passphrase):Enter same passphrase again:然后会提示你密钥生成成功。这是你的私钥保存为~/.ssh/id_rsa,你的公钥是~/.ssh/id_rsa.pub我们现在需要做的是,把id_rsa.pub的内容,添加的服务器端的~/.ssh/autherized_keys文件最后。你可以把这个文件上传到服务器端,然后使用命令:# cat id_rsa.pub ~/.ssh/autherized_keys到这里就完成了。(2) 在Windows下使用Putty生成密钥对:Putty的安装目录下有个puttygen.exe程序,我们运行这个程序。之后点击Generate,开始生成密钥对。我们需要根据提示,在指定方框内随机滑动鼠标。这是为了根据鼠标轨迹,产生一些随机数据。之后生成结束,我们点击Save Private Key将私钥存放在某个目录中。然后赋值最上面文本框中的全部内容,粘贴到Linux服务器端的autherized_key的最后。我们现在可以关闭这个小程序。现在打开Putty,在左边的选项中,选择Conneciton–SSH–Auth,在Private key file for authentication中,选择刚才保存的私钥路径就可以了。到此位置,Putty也可以不用密码登录了。方法二使用Linux主机生成的密匙1、生成密匙[root@ .ssh]#ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /root/.ssh/id_rsa.Your public key has been saved in /root/.ssh/id_rsa.pub.The key fingerprint is:e4:9a:47:a7:b4:8a:0b:98:07:b8:70:de:6b:16:2c:0croot@2、将 /root/.ssh/id_rsa.pub改名为/root/.ssh/authorized_keys[root@ .ssh]#mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys3、将私钥id_rsa拷贝到远程客户端1)、如果远程客户端是linux,拷贝到远程客户端/root/.ssh/即可2)、putty作为远程客户端在putty不能识别直接从服务器拷贝来的私钥,需要使用puttygen.exe进行格式转换(1)、打开puttygen.exe -- Conversions -- Import Key(2)、选择拷贝过来的私钥文件id_rsa(3)、Save private key-id_rsa.ppk(保存私钥)4、打开putty.exe1)、Session -- Host Name (填写服务器地址或者域名)2)、Connection -- SSH -- Auth (点Browse选择刚生成的id_rsa.ppk)3)、open成功打开后出现如下提示:login as: rootAuthenticating with public key "imported-openssh-key"----------------------------------------------------------------------------------当然你有可能会遇到这个错误 [因为我遇到了,呵呵]:Permissions 0755 for '你配置的公钥文件路径' are too open.这个是因为这几个文件权限设置的有点问题执行命令: chmod 600 你的文件
Q2: Linux密钥登陆
首先明确一点,一对密钥分为私钥和公钥,私钥是你自己留着的,公钥是放在远程主机的。密钥对通过 ssh-keygen 创建的,在哪台主机创建的无所谓,你可以将公钥放到任意你想登陆的服务器上,也可以把私钥放到任意需要登陆的客户机上。
现在使用 ssh-keygen 生成一对密钥
使用 ssh-copy-id 将公钥发送到指定的主机上
在目标主机的 ~/.ssh/authorized_keys 中会添加刚刚发送来的公钥。
这样就可以实现免密登陆了。
Linux 使用ssh-agent来管理密钥,使用 ssh-keygen 生成之后会自动添加到ssh-agent,也可以通过 ssh-add 私钥 来添加,通过以下命令操作
有些程序点名需要 -----BEGIN OPENSSH RSA KEY-----
可以使用以下命令生成
Q3: linux如何设置一个psk
1. 使用openssl命令
OpenSSL是一个著名的、广泛使用的命令行工具,用于从shell中调用OpenSSL的crypto库的各种加密函数。要生成一个强PSK,请使用它的rand子命令,该命令生成伪随机字节并通过base64编码进行过滤,如下所示。
生成32位密钥:
openssl rand -base64 32
生成64位密钥:
openssl rand -base64 64
2. 使用GPG命令
GPG是使用OpenPGP标准提供数字加密和签名服务的命令行工具。您可以使用它的--gen-random选项来生成一个强PSK,并通过base64编码对其进行过滤,如下所示。
在以下命令中,1或2是质量级别,10、20、40和70是字符数量。
gpg --gen-random 1 10 | base64
gpg --gen-random 2 20 | base64
gpg --gen-random 1 40 | base64
gpg --gen-random 2 70 | base64
3.使用伪随机数生成器
您还可以使用Linux中的任意伪随机数生成器,如/dev/random或/dev/urandom,如下所示。head命令的-c选项有助于生成字符数。
head -c 35 /dev/random | base64
head -c 60 /dev/random | base64
使用伪随机数生成器
5. 使用date和sha245sum命令
可以组合date和sha256sum命令来创建一个强PSK,如下所示。
date | sha256sum | base64 | head -c 45; echo
date | sha256sum | base64 | head -c 50; echo
date | sha256sum | base64 | head -c 60; echo
Q4: 如何在Linux服务器上配置SSH密钥验证
客户端设置
客户需要生成密钥对(公共和私有)。 稍后我们会将公钥上传到SSH服务器。
ssh-keygen
生成SSH密钥时,系统将提示您输入密码。 我们建议在此步骤中使用新密码。 这将避免别人使用你的钥匙。
将公钥上传到服务器
现在我们将使用ssh-copy-id命令来上传密钥。 您可以手动将公钥(~/.ssh/id_rsa.pub)附加到服务器上的 ~/.ssh/authorized_keys。
ssh-copy-id user@hostname
更安全的SSH设置
此步骤是可选的,但建议禁用密码验证(特别是root用户)打开文件 /etc/ssh/sshd_config 并将PasswordAuthentication更改为“no”值。
PasswordAuthentication no
确保在重新启动SSH服务器之前测试您的ssh密钥验证!
sudo service ssh restart
Q5: linux怎么用秘钥登录?
1. 制作密钥对
在服务器上制作密钥对。首先用密码登录到你打算使用密钥登录linux命令行创建密钥的账户linux命令行创建密钥,然后执行以下命令linux命令行创建密钥:
[root@host ~]$ ssh-keygen == 下面是相应的操作提示,以及密钥生成的位置都会告诉我们。
Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): == 按 EnterCreated directory '/root/.ssh'.Enter passphrase (empty for no passphrase): == 输入密钥锁码,或直接按 Enter 留空Enter same passphrase again: == 再输入一遍密钥锁码Your identification has been saved in /root/.ssh/id_rsa. == 私钥Your public key has been saved in /root/.ssh/id_rsa.pub. == 公钥The key fingerprint is:0f:d3:e7:1a:1c:bd:5c:03:f1:19:f1:22:df:9b:cc:08 root@host
在 当前 用户的家目录中生成linux命令行创建密钥了一个 .ssh 的隐藏目录,内含两个密钥文件。id_rsa 为私钥,id_rsa.pub 为公钥。
2. 在服务器上安装公钥
键入以下命令,在服务器上安装公钥linux命令行创建密钥:
[root@host ~]$ cd .ssh
[root@host .ssh]$ cat id_rsa.pub authorized_keys
如此便完成了公钥的安装。为了确保连接成功,请保证以下文件权限正确:
[root@host .ssh]$ chmod 600 authorized_keys[root@host .ssh]$ chmod 700 ~/.ssh
3. 设置 SSH,打开密钥登录功能
编辑 /etc/ssh/sshd_config 文件,添加如下设置:
sudo vi /etc/ssh/sshd_config
RSAAuthentication yesPubkeyAuthentication yes
接着保存后 另外,请留意 root 用户能否通过 SSH 登录:PermitRootLogin yes
当你完成全部设置,并以密钥方式登录成功后,再禁用密码登录:
PasswordAuthentication no
最后,重启 SSH 服务:
[root@host .ssh]$ service sshd restart
关于linux命令行创建密钥和linux创建用户和密码代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








