当前位置:首页 » 操作系统 » linux生成密钥

linux生成密钥

发布时间: 2022-05-06 05:17:09

Ⅰ 如何在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 molus
…………++++++
…………++++++
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

Ⅱ linux下怎么样设置ssh无密码登录

1.Linux下生成密钥
ssh-keygen的命令手册,通过”man ssh-keygen“命令:

通过命令”ssh-keygen -t rsa“

生成之后会在用户的根目录生成一个 “.ssh”的文件夹

进入“.ssh”会生成以下几个文件

authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥
id_rsa : 生成的私钥文件
id_rsa.pub :生成的公钥文件
know_hosts : 已知的主机公钥清单
如果希望ssh公钥生效需满足至少下面两个条件:
1) .ssh目录的权限必须是700
2) .ssh/authorized_keys文件权限必须是600
2.远程免密登录
原理图:

常用以下几种方法:
2.1 通过ssh--id的方式
命令: ssh--id -i ~/.ssh/id_rsa.put <romte_ip>
举例:
[root@test .ssh]# ssh--id -i ~/.ssh/id_rsa.pub 192.168.91.135
[email protected]'s password:
Now try logging into the machine, with "ssh '192.168.91.135'", andcheck in:

.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

[root@test .ssh]# ssh [email protected]
Last login: Mon Oct 10 01:25:49 2016 from 192.168.91.133
[root@localhost ~]#
常见错误:
[root@test ~]# ssh--id -i~/.ssh/id_rsa.pub 192.168.91.135
-bash: ssh--id: command not found //提示命令不存在
解决办法:yum -y installopenssh-clients

2.2通过scp将内容写到对方的文件中
命令:scp -p~/.ssh/id_rsa.pub root@<remote_ip>:/root/.ssh/authorized_keys
举例:
[root@test .ssh]# scp -p ~/.ssh/[email protected]:/root/.ssh/authorized_keys
[email protected]'s password:
id_rsa.pub 100% 408 0.4KB/s 00:00
[root@test .ssh]#
[root@test .ssh]#
[root@test .ssh]#
[root@test .ssh]# ssh [email protected]
Last login: Mon Oct 10 01:27:02 2016 from 192.168.91.133

[root@localhost ~]#

也可以分为两步操作:
$ scp ~/.ssh/id_rsa.pubroot@<remote_ip>:pub_key //将文件拷贝至远程服务器
$ cat ~/pub_key>>~/.ssh/authorized_keys //将内容追加到authorized_keys文件中,不过要登录远程服务器来执行这条命令
2.3 通过Ansible实现批量免密
2.3.1 将需要做免密操作的机器hosts添加到/etc/ansible/hosts下:
[Avoid close]
192.168.91.132
192.168.91.133
192.168.91.134

2.3.2 执行命令进行免密操作

ansible<groupname> -m authorized_key -a "user=root key='{{lookup('file','/root/.ssh/id_rsa.pub') }}'" -k

示例:
[root@test sshpass-1.05]# ansible test -m authorized_key -a"user=root key='{{ lookup('file','/root/.ssh/id_rsa.pub') }}'" -k
SSH password: ----->输入密码
192.168.91.135 | success >> {
"changed": true,
"key": "ssh-rsa 7A3izwT3///18B6FV5moE/8yTbFA4dBQahdtVP +sODbtGPC34HMGAHjFlsC/SJffLuT/ug/== [email protected]",
"key_options": null,
"keyfile": "/root/.ssh/authorized_keys",
"manage_dir": true,
"path": null,
"state": "present",
"unique": false,
"user": "root"
}
[root@test sshpass-1.05]#

2.4 手工复制粘贴的方式

将本地id_rsa.pub文件的内容拷贝至远程服务器的~/.ssh/authorized_keys文件中

Ⅲ 如何在Linux服务器上配置SSH密钥验证

客户端设置

客户需要生成密钥对(公共和私有)。 稍后我们会将公钥上传到SSH服务器。

ssh-keygen

生成SSH密钥时,系统将提示您输入密码。 我们建议在此步骤中使用新密码。 这将避免别人使用你的钥匙。

将公钥上传到服务器

现在我们将使用ssh--id命令来上传密钥。 您可以手动将公钥(~/.ssh/id_rsa.pub)附加到服务器上的~/.ssh/authorized_keys。

ssh--id user@hostname

更安全的SSH设置

此步骤是可选的,但建议禁用密码验证(特别是root用户)打开文件 /etc/ssh/sshd_config 并将PasswordAuthentication更改为“no”值。

PasswordAuthentication no

确保在重新启动SSH服务器之前测试您的ssh密钥验证!

sudo service ssh restart

Ⅳ linux生成的rsa秘钥在哪

方法一, 有的时候经常需要登录ssh,每次都需要输入密码,会比较繁琐。所以设置了一下使用RSA公钥认证的方式登录Linux。 首先需要在服务器端设置/etc/ssh/sshd_config # vim /etc/ssh/sshd_config 修改如下两行为yes。其实大多数情况下不用修改,默认就是yes。 RSAAuthentication yes PubkeyAuthentication yes (1) 如果客户机和服务器都是Linux机器,那么我们使用下面的方法:(后面第2节会提到怎么在Windows下使用Putty生成密钥对) 我们需要在客户端生成RSA密钥对。使用ssh-keygen命令: # ssh-keygen -t rsa 参数t的意思是type,后面跟着加密类型,这里我们是rsa。 然后会提示你输入密钥保存完成文件名,这里我们需要使用默认的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 rsa Generating 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_keys 3、将私钥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.exe 1)、Session --> Host Name (填写服务器地址或者域名) 2)、Connection --> SSH --> Auth (点Browse选择刚生成的id_rsa.ppk) 3)、open 成功打开后出现如下提示: login as: root Authenticating with public key "imported-openssh-key" ---------------------------------------------------------------------------------- 当然你有可能会遇到这个错误 [因为我遇到了,呵呵]: Permissions 0755 for '你配置的公钥文件路径' are too open. 这个是因为这几个文件权限设置的有点问题 执行命令: chmod 600 你的文件

Ⅳ linux生成证书公私钥的那副图代表什么意思

我来解释一下吧,不过不知道你的那副图是什么。

假设A和B两台服务器,A需要访问B,则在A上生成公钥私钥对,使用:
ssh-keygen -t rsa # 产生rsa的密钥对
然后在A机器的这个用户的家目录下,~/.ssh目录,下面有id_rsa和id_rsa.pub,分别是私钥和公钥。私钥是一把钥匙,用于解密;公钥是一把锁,用于加密。A访问B,也就是A带着钥匙去开B的锁,A访问B之前,需要把A的公钥告知B(也就是A把锁给B),也就是A的id_rsa.pub(公钥)里的内容写入B的某个用户的家目录下,~/.ssh目录下的authorized_keys文件(默认不存在)。请确保authorized_keys权限为600,不然A无法访问B。因为这个文件是安全文件,权限不对,Linux会认为不安全。

Ⅵ linux不用ssh-keygen生成密钥可以使用ssh服务吗

请使用gnupg(命令为gpg),我干过这种事,如果觉得字符界面不方便的话,可以安装一些图形前端,比如kde下的kgpg或者kleopatra,不但可以加密字符串,而且可以加密二进制数据
ssh-keygen生成出来的密钥只能用来“验证”
而你需要的是“加密”

补充回答:
gpg绝对可以,我曾经用gpg加密过4.5G的DVD iso,不过,正如你知道的那样,公钥体制速度是巨慢的。
假设你已经创建了密钥对名称为abc, 要加密M07A0bpp-Duke.pdf
gpg -e -r abc M07A0bpp-Duke.pdf
将得到的M07A0bpp-Duke.pdf.gpg发送即可
当abc解密时,输入以下命令即可
gpg -u abc M07A0bpp-Duke.pdf.gpg

Ⅶ linux怎么用秘钥登录

1. 制作密钥对
在服务器上制作密钥对。首先用密码登录到你打算使用密钥登录的账户,然后执行以下命令:
[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

在 当前 用户的家目录中生成了一个 .ssh 的隐藏目录,内含两个密钥文件。id_rsa 为私钥,id_rsa.pub 为公钥。

2. 在服务器上安装公钥
键入以下命令,在服务器上安装公钥:
[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生成密钥对,可总是出现错误

用ssh的话有两种方式哦1.你知道对方用户在那台主机的(登录)密码,输入密码回车就可以了2.用sshkey-gen生成密钥(比如rsa的)然后到你指定的目录(生成密钥时可以指定)下找到公钥,通过比如U盘或scp拷贝到对方主机的.ssh文件下记得命名为authorized_keys,用chmod600改一下那个啥,然后(如果生成密钥是没指定密码)应该就可以直接登入具体网上查哈
第一次登录Linux主机的时候会询问是否下载密钥:
The authenticity of host '10.19.194.47 (10.19.194.47)' can't be established.
RSA key fingerprint is 23:9d:87:92:3a:18:cc:a1:7a:5b:9e:91:d6:56:cd:b1.
Are you sure you want to continue connecting (yes/no)?
当输入yes后,以后登录就不会再次出现,请问怎么让他第一次也不出现?就是默认为yes。

Ⅸ linux下ssh怎么登录

您好,1.使用用户名密码登录
在命令行中输入命令:
ssh username@ip_address -p port
之后系统会提示输入密码,输入后即可登录。
如果不添加-p选项,则默认是22端口
还可以使用-l选项输入用户名:
ssh -l username ip_address -p port
2.使用密钥登录(不使用密码)
首先生成密钥,在任意目录下输入命令:
ssh-keygen -t rsa -P ''
-P表示密码,-P ''表示空密码
之后系统会提示输入生成的密钥文件的文件名,可以输入任意名称,比如id_rsa,回车
系统会在当前目录下生成id_rsa与id_rsa.pub两个文件
在根目录下新建.ssh文件夹,将生成的密钥文件拷贝过去
mkdir -p ~/.ssh
-p选项表示如果文件夹已经存在则不再新建。
然后将之前生成的两个文件都拷贝到.ssh文件夹中
cp id_rsa* ~/.ssh/
把公钥文件id_rsa.pub拷贝到需要登录的服务器上
用scp命令
scp -P port ~/.ssh/id_rsa.pub username@ip_address:~
-P表示要登录服务器的端口好,不加默认为22。
之后系统会提示输入密码,输入即可完成拷贝
登录远程服务器,在用户根目录下新建.ssh文件夹(如果不存在),在其中新建authorized_keys文件(如果不存在),把id_rsa.pub添加到authorized_keys文件中
mkdir -p ~/.ssh
这是在远程服务器上新建ssh文件夹
cat id_rsa.pub >> .ssh/authorized_keys
将id_rsa.pub文件添加到authorized_keys文件中(如文件不存在则新建)
注意:要保证.ssh与authorized_keys用户自己都有写权限
退出当前远程登录,之后就可以不使用密码远程登录了

Ⅹ Linux重复生成秘钥会影响之前配对的主机吗

看你把密钥保存在那儿了,如果替换了旧的密钥,当然之前配对的主机就不能连接了。需要添加新密钥到配对主机。

热点内容
脚本整理 发布:2024-10-07 10:20:48 浏览:233
图片上传功能java 发布:2024-10-07 10:14:18 浏览:128
rc4c语言实现 发布:2024-10-07 10:08:34 浏览:407
为什么steam每天登录都要输密码 发布:2024-10-07 10:08:33 浏览:436
电脑软件连接不到服务器怎么解决 发布:2024-10-07 10:04:07 浏览:923
pubg如何换服务器图解 发布:2024-10-07 10:04:06 浏览:320
androidstudio异常 发布:2024-10-07 09:50:48 浏览:471
视频缓存转mp4 发布:2024-10-07 09:35:37 浏览:27
Java的脚本语言有哪些 发布:2024-10-07 09:27:43 浏览:876
如何使用香港服务器 发布:2024-10-07 09:01:37 浏览:916