制作Linux公钥登录

一、下载私钥方式登录

1、//添加一个名为zjz的用户
adduser zjz
2、//修改密码
passwd zjz
3、允许该用户切换root权限

1
2
vi /etc/sudoers
zjz   ALL=(ALL) ALL

 4、切换到新创建的用户身份下操作

1
2
3
4
5
su  -  zjz
 
cd /home/zjz
 
ssh-keygen  -b 4096 -t rsa

默认生成到指定目录/root/.ssh/,密码可以直接回车跳过
在当前目录下生成了id_rsa(私钥)和id_rsa.pub(公钥)

生成密钥对,-t代表类型,有RSA和DSA两种

5、切换到密钥生成目录(.ssh是隐藏目录)

1
2
cd .ssh
cat id_rsa.pub >> authorized_keys

6、设置权限

1
2
chmod 600 authorized_keys
chmod 700 ~/.ssh

7、设置SSH配置文件,打开密钥登录

(1) 首先确保自己的用户拥有root权限,若不是则使用

1
sudo su -

(2) 打开配置文件sshd_config

1
2
3
4
5
6
7
8
vi /etc/ssh/sshd_config  添加、修改
 
RSAAuthentication yes
PubkeyAuthentication yes
 
把PasswordAuthentication的属性改为no
 
systemctl restart sshd   重启ssh服务

二、进行登录验证

1、先把刚刚生成的私钥(id_rsa)从服务器下载到windows电脑上来

新建会话

输入用户名

私钥没有设置私钥密码保护,选择私钥,点击确定。

 登录成功

三、xshell方式生成公钥方式登录

1、 生成密钥(公钥与私钥)

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

弹出“新建用户秘钥生成向导”对话框,在“秘钥类型”项选择“RSA”公钥加密算法,“秘钥长度”选择任意密钥长度,长度越长,安全性越高,如下图:

。。。

继续下一步,在“秘钥名称”中输入Key的文件名称,我这里为“id_rsa_2048(2)”;在“加密密码”处输入一个密码用于加密私钥,并再次输入密码确认,如下图:

点击“下一步”,密钥生成完毕(Public key Format选择SSH2-OpenSSH格式),这里显示的是公钥,我们可以复制公钥然后再保存,也可以直接保存公钥到文件,如下图。

点击“保存为文件”按钮,将公钥(Public key)保存到磁盘,文件名为“laomao”,备用。最后点击“完成即可

公钥保存完后,接下来为私钥文件点击导出导出为私钥文件,用来打开刚才的公钥。请妥善保管。

2、 放置公钥(Public Key)到服务器~/.ssh/authorized_key文件中

上面的步骤只是生了公钥和私钥过程,接下来就是要将刚才生成的公钥放到要管理的服务器上。

然后运行如下命令,将公钥(Public Key)导入到“authorized_keys”文件:

1
2
3
4
5
6
7
8
9
10
11
# cd .ssh/
# ls
authorized_keys  known_hosts
# rz -E
# ls
authorized_keys  known_hosts  laomao.pub
# cp authorized_keys authorized_keys.bak
# cat laomao.pub >authorized_keys
# cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAYEAybjy7/DVWxXm4lcXFA+x0bgBMi+aQ6zIzyBfFSKJEMhAhs/MxbKHOl1c1GwzPSAKLAHoR8UZSQO7QQcYKqeb8cNWR8f9NGNBCJs+e6Fpl7BvNPKfNrixnq+gT5VIz77u2RXU74JBOuwsgaEHtCU5DQhIfvAoUe64qCBuY5J6JHJV3bBlMXnqxrJQO4+4hH0dHyVzc5wmP0ngnah/6za64hk3Nd1tdER7na701geZTR5N4OqeCep+TtPcbT4RKQ1qJ5L67ET5x3uYGEKZDK4tOL2kluePd2XHRQg1qcXl87f7HkZiLIicgLU8/rB+LyUOJzywTVHvmTWTPDS1u6RmAQSLh/4VU0vEks7bIj7xTCaKjuO6UgHvxPZL1BQWj8tY6fzerdndVM5bORkAHgZ67ZJK6X+Zui4fHTkxSQ/gvzOgBylhSL3Tyc1PRlVO8L7bl9r36x7hlACHr0BrqpenrkxdMmrR4i4RoOrYaijXoPhvg5uWH+rSeUbZDDEw7S/F[root@mysql-db01 .ssh]#
# chmod 600 authorized_keys

3、 配置ssh客户端使用密钥登录

打开Xshell,点击“新建”按钮,弹出“New Session Properties”对话框,在“连接”栏目中,输入刚刚配置好公钥(Public Key)IP地址和端口,如下图所示:

用户身份认证窗口输入认证方法为“public key”

用户秘钥出选择刚生成的私钥文件,并在下面的密码框中输入刚才设置的密码123456(可以和系统登陆密码不一样

 

 现在就可以使用公钥登陆了,浏览选择用户秘钥位置,然后输入上面刚刚设置的密码“123456”点击“确定,即可登陆。

 

 

 

 

posted @   凡人半睁眼  阅读(380)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示