Xshell通过SSH密钥、SSH代理连接Linux服务器详解
引言
使用SSH客户端来登陆Linux系统,我相信大家肯定都用过,只是选择的SSH客户端的软件不同而已,在Windows系统下,用的比较多就应该就是PUTTY,SecureCRT,Xshell这三个吧。大家是不是曾经在进行服务器管理的时候,会遇到一些交互的处理问题,比如说自动化的命令需要密码的时候,我们就不能自动完成。所以我们会用到关于SSH密钥的一些问题,那么我今天就以Xshell为例,来给大家讲解一下如何用SSH登陆,而无需输入密码。当然,也可以通过Linux系统上的SSH来实现此功能,只是实现的方法略有不同。后面我也做个简单的教程出来供大家分享。
Xshell增加一个对话
在开始正式内容之前,我们先来看看Xshell的一个基本设置:新增一个会话(new session)
OK,现在我们进入我们今天的内容。这里做一个说明:系统为RHEL6,我们把他当作Linux服务器,本文由普通的用户名+密码认证、密钥认证、密钥+输入密钥密码认证、代理认证ssh-agent(密钥+密钥密码+无需密码输入)这四个内容来给大家讲解,希望能给大家一个抛砖引玉的作用。
1、普通的用户名+密码认证
这个不用多说,默认情况下,都是用用户名和密码来认证登陆的,自行增加一个会话,每次连接的时候,打开会话就OK了,具体的设置,可能参考上面的关于Xshell的基本设置。所以我们就略过,不过,如果说,你连这个都搞不定的话,那么,下面的内容也就无法时行下去了。哈哈……
2、密钥认证
所谓的密钥认证,就是在本地配置一个私钥和一个公钥,然后把公钥传要你想连接的服务器,就能实现无需输入用户名和密码的目的。这个就如同是制造了一个钥匙(私钥)和一把锁(公钥)一样,而这把锁可以复制到多台服务器,这样我只要用我的这个钥匙,就可以打开多个服务器的锁了。所以说,要启用密钥认证,关键就是制造钥匙和锁。下面就来看看,在Xshell上如何来制造。
选中我们新创建的会话,对其属性进行更改
配置认证的方式,并创建密钥
选择KEY相应的类型与长度
Xshell自动创建密钥文件
设置密钥文件名,我们这里先不为密钥设置密码
保存公钥文件
选择刚刚创建的私钥
设置登陆的用户
这样,我们就有了一个公钥和私钥了,接下来,就是把生成的公钥上传到服务器了。
我们直接用Xshell自带的一个sftp功能来上传我们生成的文件(我把公钥文件保存在我的WIN7系统桌面上)
打开Xshell后,应该出现下面的提示符
Xshell:\>
我们需要设置一下本地的工作目录,方便我们上传文件(如下图)
我们用sftp来连接远程的服务器,然后上传我们的公钥文件
Xshell:\> sftp root@192.168.6.10
这时候不要选择私钥登陆啊,因为我们还没有进行配置,所以必需使用密码登陆(如图)
Connecting to 192.168.6.10:22…
Connection established.
Escape character is ‘^@]’.
Your current local directory is
C:\Users\Administrator\Desktop
Type `help’ to browse available commnands.
sftp:/root>
出面上面的提示,就表示我们登陆上服务器了,关于SFTP的命令命令,大家可以用help来查看帮助。下面我们就向服务器传文件了
我们在服务器的root目录下保存我们的公钥,当然,你可以放到其他的位置,只是这个文件的位置,我们需要记住,因为后面的SSHD设置需要他。
sftp:/root> put id_rsa_2048.pub
Uploading id_rsa_2048.pub to remote:/root/id_rsa_2048.pub
sftp:/root/.ssh> exit
OK,我们上传上去了,下面我们就用SSH的普通方法(用户名和密码)登陆服务器,然后修改我们的sshd_config配置文件,启用密钥认证,关闭用户名、密码认证。
Xshell:\> ssh root@192.168.6.10
还是先用用户名密码来登陆
[root@yufei ~]# vim /etc/ssh/sshd_config
启用下面两个内容,并设置好相应的公钥文件位置
PubkeyAuthentication yes
AuthorizedKeysFile /root/id_rsa_2048.pub
关于密码认证,我们暂时先不关闭,以防万一啊!!
也就是PasswordAuthentication yes这个先不禁止。
保存退出后,重新启动SSHD服务
[root@yufei ~]# service sshd restart
注意:如果你的系统是RHEL6,并且没有关掉SELinux的话,在登陆的时候,你会发现始终需要你输入密码,而我们并没有设置密码啊,这是为什么呢?刚开始的时候我也很奇怪,我在RHEL5上测试是正常的,可一到RHEL6上就是不行,折腾了半天,发现是SELinux惹的祸啊!没有关系,我们关闭掉他就OK了。
[root@yufei ~]# setenforce 0
[root@yufei ~]# exit
这时候,你就可以重新换用密钥方式登陆了,已经无需输入任何密码。
3、密钥+输入密钥密码认证
和上面是一样的,只是在创建证书的时候,输入密码就可以了,注意,一定要把原来客户端的证书文件换成现在的,如果还是用以前的话,会导致你远程的SSH登陆不上系统了。
设置了密钥的密码后,在使用密钥登陆的时候,就需要输入相应的密钥密码,输入后,就能正常登陆了。但这虽然增加了安全性,但他的交互性又没有了,想要既使用密钥+密钥密码方式来登陆,又不输入密码,就需要用ssh-agent来实现。
4、代理认证ssh-agent(密钥+密钥密码+无需密码输入)
在上面认证的基础上,我们在服务器上再次配置sshd_config文件
开启
AllowAgentForwarding yes
重新启动
然后在Xshell中开启Agent方式
只要上面的没有问题,那么我们就可以用Xshell再次登陆测试了,这次登陆,只需要输入一次密钥密码,以后都无需再输入密码了。
结束语
大家觉得这个可能实用性不太大,但如果我们在Linux系统上管理其他多台Linux服务器的时候,你会发觉真的很方便,关于在Linux系统上,如何来实现上面的功能,我将在下一篇文章中给出。如果说,你对此文有什么疑问的话,请与我留言。本文第二个写的比较详细,而后面两个比较简单,如果你领会了第二个的话,那么剩下的两种就没有什么难度了。
分享到:
相关推荐
codemirror版本:https://codemirror.net/5/doc/releases.html
外国电影演员识别系统源码分享
mf3010 打印扫描一体机驱动管理软件。
2024免费毕业设计成品,包括源码+数据库+往届论文资料 启动教程:https://www.bilibili.com/video/BV11ktveuE2d 讲解视频:https://www.bilibili.com/video/BV1YfkHYwEME 二次开发教程:https://www.bilibili.com/video/BV1Cw2rY1ErC
chrome-headless-shell-linux64-135.0.7004.0 (Canary).zip
DeepSeek大模型介绍与展望.pptx
英特尔的公版原理图和PCB,cadence版本
《单容水箱液位精准调控:模糊控制策略的深度研究与复现》,单容水箱液位随动系统的模糊控制研究 模糊控制lunwen复现 期刊:化工与自动化仪表(2021年) 图1为结构图,图9为原文结构图, 版本不一样,器件略有调整 图7为结果图,图8为原文结果图 ,单容水箱液位;模糊控制;研究;论文复现;期刊;化工与自动化仪表;结构图;结果图;版本差异;器件调整,"模糊控制研究在单容水箱液位随动系统中的应用与复现"
一个windows上使用的搜索小工具
内容: 这份数据集包含了来自国际大洋发现计划(IODP)第342航次站点U1405、U1406、U1407、U1409和U1410的浮游有孔虫碳酸盐团簇同位素、稳定氧和碳同位素,以及沉积物中的GDGT(甘油二烷基甘油四醚)和烯酮数据。这些站点位于北大西洋的新foundland脊(U1407、U1409和U1410)和J-异常脊(U1405和U1406),用于创建覆盖整个新生代的几乎连续但低分辨率(约每92万年一个样本)的数据拼接,并重建了碳酸盐团簇同位素、TEX86和UK'37海表温度。每个样本包含20立方厘米的沉积物,覆盖2厘米的核心深度区间。年龄模型主要基于详细的船上生物-磁性地层学研究(Norris等,2014)。然而,在40.8 Ma至44.8 Ma时间段内,使用了Cappelli等人(2019)更新的U1410站点年龄模型,通过与U1408站点的年龄模型对比来确定。 访问此数据集,请点击这里:"" ()。
厨房用品分割系统源码&数据集分享
.
监控鞋类物品检测系统源码分享
2024免费毕业设计成品,包括源码+数据库+往届论文资料 启动教程:https://www.bilibili.com/video/BV11ktveuE2d 讲解视频:https://www.bilibili.com/video/BV1YfkHYwEME 二次开发教程:https://www.bilibili.com/video/BV1Cw2rY1ErC
曲线图异常波形检测系统源码分享
内容概要:本文介绍了动车组车号自动识别的现状及其存在的问题,提出了基于图像识别技术的新方法。文中详述了传统人工识别与RFID识别方法的不足,重点阐述了一种新的图像识别系统的设计与实施方案,该系统能够实现在多种恶劣环境下高效精确地获取动车组车号,并通过实际案例展示了这套系统的优势以及其在铁路行业的广阔应用前景。 适用人群:从事铁路运输管理、轨道交通系统开发维护的技术人员,尤其是负责动车组调度、监控及维修工作的相关人员。 使用场景及目标:①用于替代现有人工记录与RFID标签方式,提升动车组车号识别精度与效率;②适用于各种天气状况下的户外作业场景;③旨在构建更加智能化、信息化程度更高的铁路运输体系,助力智慧动车段建设。 其他说明:文中还包括具体的实验对比和技术细节分析,如不同的开机触发装置选择、图像采集设备参数设置、补光措施及识别算法的设计,强调了实际应用场景中可能遇到的问题以及相应的解决方案。
基于AnythingLLM框架和Ollama环境本地运行deepseek,并可以通过用户自己的文档来针对性地回答用户问题,用户也可以上传文件来构建模型回复问题所需要的所有参考资料的知识库,使得模型相对于在线模型更加专业地解答用户的问题。同时本地部署保证了隐私性和针对性。
指针式表盘指针关键部位分割系统源码&数据集分享
多策略增强:MWOA鲸鱼优化算法与其他变体及2024年最新算法的实证比较与结果分析——新颖策略实施效果显著且复杂度无增加的研究,多策略改进的鲸鱼优化算法(MWOA),与其他三种变体和几种2024最新算法比较,策略都是很新颖的策略,可以直接写了发文章,并且没有增加复杂度上改进效果 ,MWOA; 变体算法; 最新算法; 策略新颖; 复杂度未增加; 改进效果显著,"多策略改进MWOA算法:与多种变体及2024新算法比较展示优越性"
织物缺陷检测系统源码分享[一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]