Linux Xshell配置public key实现免密登录linux服务器

news2024/9/21 8:01:46

linux服务器安装成功后,登录linux服务器的工具有很多中,例如:Xshell、SecureCRT等等。而我所服务的用户使用xshell工具来对linux服务器进行运维。

当使用xshell登录linux服务器时,xshell提供了三种身份验证方式:

1.Password(P)密码(W)

2.Public Key(U)用户密钥(K)[密码(H)]

3.Keyboard Interactive(I)

今天就重点为大家讲一讲,如何使用linux xshell产生public key实现免密登录linux服务器。

1.测试环境

Xshell Version:7.0        宿主机:Windows 10

OS Version:RHEL7

2.实施部署

2.1.xshell产生public key

1.打开xshell

2.点击菜单栏“工具(T)”-选择“新建用户密钥生产向导(W)” 

3.在弹出的“新建用户密钥生产向导”-“生产密钥参数”页面,选择“密码类型(T)”为RSA,“密钥长度(L)”为2048位,点击“下一步”

 4.在“生成公钥对”页面,点击“下一步”

 5.在“用户密钥信息”页面,根据需要填写“密钥名称(K)”信息,以及填写“请输入给用户密钥加密的密码”,切记:此密码不是你所登录linux服务器时输入的用户名/密码的这个密码。也选项也可以选择留空,我们选择留空不输入密码,然后,点击“下一步”

6.在“公钥注册”页面,选择把公钥“保存为文件(S)...”

7.输入“文件名”,也可以使用默认文件名,这里我们选择使用默认文件名“id_rsa_2048.pub”,点击“保存”,这样id_rsa_2048.pub公钥就保存在了本地桌面

 8.点击“完成”

9.在“用户密钥”页面,名称为:“id_rsa_2048”文件,其为对应的私钥,可以选择导出,也可以选择不导出,这里我们选择导出,这样的话,如果服务器允许远程登录,那么在网络允许的情况下,我们就可以随时随地带着它进行远程登录了

10.输入“文件名”,也可以使用默认文件名,这里我们选择使用默认文件名“id_rsa_2048”,点击“保存”,这样id_rsa_2048私钥就保存在了本地桌面

11.点击“关闭”,关闭“用户密钥”页面

12.本地桌面上的公钥和私钥文件

2.2.拷贝id_rsa_2048.pub公钥信息至linux服务器

1..以notepad++打开id_rsa_2048.pub文件

2.首次,以"用户名/密码"的方式登录linux服务器

3. 把id_rsa_2048.pub公钥拷贝至linux服务器

命令:

echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvcPrWw8mf6Q2cxuqdP/2oEHJ4Iv5/CeDwszrv4VLnKWmLo5yR1oBRXYbP/8I5gju6uD159dLPFrHpxfFUuULXUl9cpvqgzkdTEETNKOPhYRWqbJwohTPrP1Uy95uRObec43wX0WDck/4w1ckFu58wmzixeMLLYtQ43lcJt6yeeACgFAVPTlxGvneJgUzvSG27vf58tOBz7ZhWOV8d+vgrZqmAAKYjX0jnIIdMprka225miVMYd/ltiU6rVhabxlw2e1SM09w3jh0QUcLm9KCK6c0Qh/7h8VAbd0Q8q2hbnw6+WJ+anSuWCtTSEm2ORRAbZU5J52arLHfObQ0/+fyFw==" >/root/.ssh/authorized_keys 

[root@rhel77 ~]# echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvcPrWw8mf6Q2cxuqdP/2oEHJ4Iv5/CeDwszrv4VLnKWmLo5yR1oBRXYbP/8I5gju6uD159dLPFrHpxfFUuULXUl9cpvqgzkdTEETNKOPhYRWqbJwohTPrP1Uy95uRObec43wX0WDck/4w1ckFu58wmzixeMLLYtQ43lcJt6yeeACgFAVPTlxGvneJgUzvSG27vf58tOBz7ZhWOV8d+vgrZqmAAKYjX0jnIIdMprka225miVMYd/ltiU6rVhabxlw2e1SM09w3jh0QUcLm9KCK6c0Qh/7h8VAbd0Q8q2hbnw6+WJ+anSuWCtTSEm2ORRAbZU5J52arLHfObQ0/+fyFw==" >/root/.ssh/authorized_keys 
[root@rhel77 ~]# cat !$
cat /root/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvcPrWw8mf6Q2cxuqdP/2oEHJ4Iv5/CeDwszrv4VLnKWmLo5yR1oBRXYbP/8I5gju6uD159dLPFrHpxfFUuULXUl9cpvqgzkdTEETNKOPhYRWqbJwohTPrP1Uy95uRObec43wX0WDck/4w1ckFu58wmzixeMLLYtQ43lcJt6yeeACgFAVPTlxGvneJgUzvSG27vf58tOBz7ZhWOV8d+vgrZqmAAKYjX0jnIIdMprka225miVMYd/ltiU6rVhabxlw2e1SM09w3jh0QUcLm9KCK6c0Qh/7h8VAbd0Q8q2hbnw6+WJ+anSuWCtTSEm2ORRAbZU5J52arLHfObQ0/+fyFw==
[root@rhel77 ~]# 

如果authorized_keys文件中记录有其它的认证信息,使用追加的方式导入

命令:

echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvcPrWw8mf6Q2cxuqdP/2oEHJ4Iv5/CeDwszrv4VLnKWmLo5yR1oBRXYbP/8I5gju6uD159dLPFrHpxfFUuULXUl9cpvqgzkdTEETNKOPhYRWqbJwohTPrP1Uy95uRObec43wX0WDck/4w1ckFu58wmzixeMLLYtQ43lcJt6yeeACgFAVPTlxGvneJgUzvSG27vf58tOBz7ZhWOV8d+vgrZqmAAKYjX0jnIIdMprka225miVMYd/ltiU6rVhabxlw2e1SM09w3jh0QUcLm9KCK6c0Qh/7h8VAbd0Q8q2hbnw6+WJ+anSuWCtTSEm2ORRAbZU5J52arLHfObQ0/+fyFw==" >>/root/.ssh/authorized_keys 

4.检查目录及文件权限

-->/root目录权限为:700或550

-->ssh目录权限为:700

-->authorized_keys:认证文件。文件权限:600,不能更改

2.3.免密登录认证

1.退出刚刚登录的linux服务器

2.输入ssh IP(E.g:ssh 192.168.10.143),这里根据实际输入你自己的服务器IP,然后回车

3.输入登录用户名称,点击“确定”

4.在“SSH用户身份验证”页面,选择“Public Key(U)”

5.点击“浏览”,会出现“用户密钥(U)...”和“文件(F)...”选项

-->“用户密钥(U)...” 这个是刚刚通过“向导”产生的,如果要使用它,选中它,点击“确定”

 -->“文件(F)...”这个是刚刚导出到桌面上的“私钥”,如果要使用它,选中它,点击“打开”

 “用户密钥(U)...”和“文件(F)...”两种所用“私钥”都是id_rsa_2048的信息,只不过,一个存在了本地,一个存在了xshell上。这里我们选择使用“文件(F)...”

6.由于我们在生产Public Key时,没有为密钥设置密码,此处留白,点击“确定”

 7.服务器也就登录成功了 

至此,也就实现了通过Linux Xshell生产public key实现免密登录linux服务器。

此方案也适用于CentOS7/8,RHEL8/9,RockyLinux9版本服务器通过Linux Xshell生产public key实现免密登录。

对于普通用户,这把id_rsa_2048.pub公钥信息拷贝至对应的/home/普通用户名称/.ssh/authorized_keys文件,保证目录及文件权限符合要求(参考2.2节step4),也可以实现免密登录。

2.4.QA

如果一切设定好后,通过public key实现免密登录报错,可以查看/etc/ssh/sshd_config文件,此参数是否启用,如果没有,启用它,重启ssh(E.g(RHEL7):systemctl restart sshd),再去验证。

PubkeyAuthentication yes

写在最后:

创作不易,如果对你有所帮助或喜欢,请一键三连!

谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/675545.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实战:Maven构建工具实践-2023.6.21(测试成功)

实战:Maven构建工具实践-2023.6.21(测试成功) 目录 推荐文章 https://www.yuque.com/xyy-onlyone/aevhhf?# 《玩转Typora》 实验环境 gitlab/gitlab-ce:15.0.3-ce.0 jenkins/jenkins:2.346.3-2-lts-jdk11 apache-maven-3.9.2 openjdk 11.0.18实验软件 链接&…

对centOS的home目录进行扩容。

对centos的home目录进行扩容 1 首先要了解PV\VG\LV的含义1.1 基本概念1.2 基本命令行 2 实际操作2.1 盘符当前现状2.1实操 1 首先要了解PV\VG\LV的含义 1.1 基本概念 物理卷(Physical Volume,PV) 指磁盘分区或从逻辑上与磁盘分区具有同样功能…

SPSS统计教程:卡方检验

本文简要的介绍了卡方分布、卡方概率密度函数和卡方检验,并通过SPSS实现了一个卡方检验例子,不仅对结果进行了解释,而且还给出了卡方、自由度和渐近显著性的计算过程。本文用到的数据"2.2.sav"链接为: https://url39.ctfile.com/f/…

菲涅尔圆孔衍射matlab完整程序分享

根据惠更斯 - 菲涅耳原理,光的衍射是光束内部的次波之间的相干叠加,衍射光波场的光振动符合菲涅耳积分公式。但直接运用菲涅耳积分公式计算衍射光场是很困难的。对于夫琅和费衍射(远场衍射),在光源和接收屏距离衍射屏均为无穷远的…

实战:k8s证书续签-2023.6.19(测试成功)

实战:k8s证书续签-2023.6.19(测试成功) 目录 推荐文章 https://www.yuque.com/xyy-onlyone/aevhhf?# 《玩转Typora》 1、前言 k8s集群核心的证书有2套,还有1套非核心的(即使出问题也问题不大)。 ⚠️ 如果是kubeadm搭建的k8s集群,其有效期为…

chatgpt赋能python:Python烧录单片机:快速的开发工具

Python烧录单片机:快速的开发工具 简介 Python是一种高级的编程语言,被广泛应用于各种领域,包括机器学习、数据分析和物联网等领域。Python的易用性和简洁性已经成为其成功的关键因素之一。Python也能在烧录单片机时提供极大的方便性和灵活…

chatgpt赋能python:用Python自动爬取链接的内容——提升SEO效果的利器

用Python自动爬取链接的内容——提升SEO效果的利器 在当今数字化时代,SEO(搜索引擎优化)对于任何一个网站来说都至关重要。一种有用的SEO策略就是频繁地更新网站内容,吸引更多的访问者和搜索引擎爬虫。而最快捷的方法就是自动爬取…

chatgpt赋能python:Python爬虫解密:如何快速抓取网站数据

Python爬虫解密:如何快速抓取网站数据 在当今信息时代,人们越来越依赖互联网获取信息。不同的网站提供了大量数据,但是手动去抓取这些数据十分困难,效率也很低。Python爬虫技术是解决这一问题的有效工具之一,它可以帮…

使用npm安装pnpm包管理器

使用npm安装pnpm包管理器 一、安装 使用 npm install pnpm -g 命令安装pnpm npm install pnpm -g安装完成之后,使用pnpm -v命令查询是否成功安装,出现版本号即可 二、设置源 1.先查看源是否为淘宝的源 pnpm config get registry 2.设置源命令 pn…

TS:pip安装python库报ssl错误-2023.6.17(已解决)

2023.6.17-TS-pip安装python库报ssl错误(已解决) 目录 文章目录 2023.6.17-TS-pip安装python库报ssl错误(已解决)目录报错现象报错环境测试过程换其他源还是报错(失败)百度:替换为豆瓣源并加--trusted-host参数(成功) 参考文章关于我最后 报错…

一文理解多线程机制和多线程的优缺点

一文理解多线程机制 前言:多线程的优缺点。一、什么是多线程1.1、多线程的概念和基本原理1.2、多线程与单线程的区别 二、多线程的应用场景三、C 中的多线程3.1、C11 新增加的 thread 库3.2、C 线程同步机制(mutex、condition_variable) 四.、…

【Openvino01】Ubuntu安装inter的openvino2022.1以及遇到的各种错误解决

交代一下今天的文章背景: 于最近要使用inter的一款名为Intel Movidius™ Myriad™ X 的加速卡去实现对算法模型的加速推理能力,由于是就得第一步安装openvino,然后再使用卡去验证openvino是否安装ok,卡是否真的存在推理加速的能力…

python pytorch教程-带你从入门到实战(代码全部可运行)

python pytorch教程-带你从入门到实战(代码全部可运行) 其实这个教程以前博主写过一次,不过,这回再写一次,打算内容写的多一点,由浅入深,然后加入一些实践案例。 下面是我们的内容目录&#x…

2022(一等奖)D1073基于Himawari-8卫星遥感的黑龙江省地表水时空格局研究

作品介绍 1 项目简介 为探究黑龙江省地表水空间格局变化,本项目以黑龙江省为例,基于高时相Himawari-8号卫星数据,通过影像预处理、特征指数选择、自动阈值分类、集成学习和随机森林分类等步骤,融合IDL二次开发与GIS空间分析&…

chatgpt赋能python:Python求绝对值的三种方法

Python 求绝对值的三种方法 Python是一门面向对象、解释型、动态类型的高级编程语言,它被广泛应用于各种领域,特别是科学计算、数据分析、机器学习等领域。在Python中,求绝对值是一个常见的数学操作。本文将介绍Python求绝对值的三种方法&am…

Redis原理 - Redis网络模型

原文首更地址,阅读效果更佳! Redis原理 - Redis网络模型 | CoderMast编程桅杆https://www.codermast.com/database/redis/redis-netword-model.html 思考 Redis 到底是单线程还是多线程? 如果仅仅针对 Redis 的核心业务部分(命…

Vicuna-13B云服务器部署

Vicuna概述 Vicuna由一群主要来自加州大学伯克利分校的研究人员推出,仍然是熟悉的配方、熟悉的味道。Vicuna同样是基于Meta开源的LLaMA大模型微调而来,它的训练数据是来自ShareGPT上的7万多条数据(ShareGPT一个分享ChatGPT对话的谷歌插件&am…

Geocomputation (3)Spatial data operations

Geocomputation (3)Spatial data operations 来源:https://github.com/geocompx/geocompy 1.准备 #| echo: false import pandas as pd import matplotlib.pyplot as plt pd.set_option("display.max_rows", 4) pd.set_option(&…

文件搜索引擎的搭建Elasticsearch+Fscrawler+SearchUI+Git+Nginx

文章目录 前言如何搭建文档搜索引擎服务器架构环境准备一、搭建Elasticsearch二、搭建Fscrawler三、搭建SearchUI服务四、定时拉取Git文件五、搭建Nginx文件下载服务器 前言 搭建一套文档搜索引擎。有时候,我们有一批文档,需要在这批文档中查找想要的内…

【从零开始学习JAVA | 第十篇】StringBuild介绍

前言: 本文会对StringBuild类进行详细的介绍,他相比较于String,在进行字符串拼接的时候大大提高了效率,是一个 很实用的工具。 StringBulider: StringBuilder是Java中的一个类,用于在一次创建和初始化后&a…