Linux下配置公钥(Public key)与私钥(Private Key)免密码登录

准备

配置SSH无密码登录需要3步:

1.生成公钥和私钥

2.导入公钥到认证文件,更改权限

3.测试


生成公钥和私钥

生成公钥和私钥有很多种方式,下面介绍利用Xshell软件和Linux的ssh-keygen生成公钥和私钥

Xshell

打开Xshell,在菜单栏点击“工具”,在弹出的菜单中选择“新建用户密钥生成向导“,如下图:

选择“RSA”公钥加密算法,“密钥长度”选择为“2048”位密钥长度,如下图:

点击“下一步”,等待密钥生成:

在“密钥名称”中输入用户密钥的名称;如果需要加密密钥,则输入一个密码用于加密私钥,并再次输入密码确认,如果不需要加密则密码留空,如下图:

点击“下一步”,密钥生成完毕(公钥格式选择SSH2-OpenSSH格式),这里显示的是公钥。私钥这里不显示,可以在“用户密钥管理”导出到文件:


Linux下生成公钥和私钥

1
ssh-keygen -t rsa

默认在 ~/.ssh目录生成两个文件:

1
2
id_rsa :私钥
id_rsa.pub :公钥


导入公钥

1
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

权限设定

1
2
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

在放有私钥的服务器上执行

1
ssh 目标服务器ip

导入私钥

如果服务器上没有私钥,我们就要导入到服务器上

1
cat private-key >> ~/.ssh/id_rsa

权限设定

1
chmod 600 ~/.ssh/id_rsa
0%