博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
烂泥:学习ssh之ssh密钥随身携带
阅读量:7059 次
发布时间:2019-06-28

本文共 1696 字,大约阅读时间需要 5 分钟。

本文由提供友情赞助,首发于

在上一篇文章《》中,我们讲解了如何使用ssh密钥,免密码登陆服务器。

这篇文章我们再来讲解,如何把已经生成的密钥随身携带。

有关如何生成ssh密钥的详细步骤,可以查看上一篇文章《》。

一、生成密钥

现在我们通过xshell生成密钥,注意:本章节,我只进行截图,不做进一步的文章说明。

如下:

我们现在有了公钥和私钥:id_dsa_150518.pub、id_dsa_150518,把公钥id_dsa_150518.pub上传到需要连接的服务器192.168.1.9的ilanni用户的对应目录下。如下:

ifconfig eth0|grep 'inet addr'|awk '{print $2}'|cut -d: -f2

cat .ssh/authorized_keys

现在我们就可以把这个密钥id_dsa_150518随身携带,无论在什么地方都可以连接192.168.1.9服务器。

注意:我们现在所说的密钥,其实就是上面xshell生成的ssh私钥。

同时还要注意私钥id_dsa_150518,我们可以携带该私钥文件,也可以把该私钥的内容复制到其他文件中也行。如下:

注意:ssh私钥的内容在复制,不能缺少任何一个字符。

二、windows下连接ssh服务器

假如,我们现在到一个新的地方,使用的OS是windows,而ssh的私钥就在我们身边的话,我们就可以通过该私钥连接ssh服务器了。

在此,我们还是以使用xshell来连接ssh服务器为例,进行讲解。当然你也可以使用其他的ssh客户端软件,进行连接。

使用如下命令连接ssh服务器,如下:

ssh ilanni@192.168.1.9

此时xshell会弹出要你输入密码的界面。如下:

我们不选择Password选项,要选择Public Key选项。然后选择“浏览”--“文件”,如下:

找到我们携带的ssh的私钥文件id_dsa_150518,如下:

选择私钥文件,如下:

通过上图,我们可以很明显的看出在连接192.168.1.9服务器时,xshell确实没有提示我们要输入密码。

注意:如果你的私钥文件不是随身携带而是记住私钥内容的话,你也可以建立一个文件,比如ilanni.txt,把私钥的内容复制到ilanni.txt进去保存。

在连接ssh服务器选择密钥文件时,只需选择ilanni.txt文件即可。

三、linux下连接ssh服务器

在第二章节中,我们讲解了如何在windows下通过ssh的私钥连接ssh服务器。在这章节,我们再来讲解如何在linux下,通过ssh私钥连接ssh服务器。

先把ssh的私钥上传到linux主机上或者在linux主机上新建一任意文件,把私钥的内容复制到该文件中,然后使用如下命令进行连接:

ssh -i id_dsa_150518 ilanni@192.168.1.9

通过上图,我们可以很明显的看出,连接ssh服务器192.168.1.9还是需要输入用户密码的。

是我们的操作不对还是怎么回事呢?

如果你仔细看上述的提示的话,你会发现这个是因为ssh私钥用户权限的设置太大,不安全造成的。

ssh为了安全起见,对私钥文件的权限一般要设置为600,即用户自己对该私钥文件具有读写权限,其所在的用户组及其他用户组对私钥文件不具有任何权限。

我们现在只需要把ssh私钥文件的权限设置为600即可,如下:

chmod 600 id_dsa_150518

再次使用ssh -i id_dsa_150518 ilanni@192.168.1.9命令进行连接,如下:

通过上图,我们可以很明显的看出,现在我们已经进入到192.168.1.9这台服务器中,而且是没有输入密码的。

注意:上述命令中的-i参数用于指定ssh私钥文件。

有关ssh命令的相关参数使用方法,可以参考ssh的帮助。如下:

ssh --help

到此有关ssh密钥随身携带的全部内容就结束了。

转载于:https://www.cnblogs.com/ilanni/p/4520804.html

你可能感兴趣的文章
Maximum Value(CodeForces - 484B)
查看>>
ASP_NET Global_asax详解
查看>>
hdu2067 小兔的棋盘 DP/数学/卡特兰数
查看>>
Ubuntu文件模式之设定笔记
查看>>
转:IIS虚拟目录实现与文件服务器网络驱动器映射共享
查看>>
解决 MariaDB无密码就可以登录的问题
查看>>
AP_MergeSql
查看>>
2016/4/3 总结作业
查看>>
用node.js写一个jenkins发版脚本
查看>>
iOS开发-UITabBarController详解
查看>>
算法-动态连通性
查看>>
webBrowser控件
查看>>
layui 表格组件不能访问连续的属性的解决办法
查看>>
windows server 2003 原版 安装 php+mysql+apache 教程
查看>>
【BZOJ1930】【SHOI2003】吃豆豆
查看>>
PostgreSQL 10.0 压缩版的 pgAdmin 不能用的问题
查看>>
动态最小生成树讲解
查看>>
find命令
查看>>
Windows和Mac下安装Beautiful Soup
查看>>
Mac 配置android环境变量
查看>>