本文首发于muddyworld
在上一篇文章《Mud:学习ssh免密码登录》中,我们讲解了如何使用sshkey登录服务器,无需密码。
在本文中,让我们解释一下如何随身携带生成的密钥。
关于如何生成ssh密钥的详细步骤,可以查看之前的文章《Mud:学习ssh免密码登录》。
I.生成密钥
现在我们通过xshell生成密钥。注:本章我只截图,没有进一步的文章解释。
如下所示:
现在我们有了公钥和私钥:id_dsa_150518.pub,id_dsa_150518,上传公钥id_dsa_150518.pub到需要连接的服务器192.168.1.9的ilanni用户对应的目录下。如下所示:
ifconfigeth0|grep'inetaddr'|awk'{print$2}'|cut-d:-F2
猫。ssh/授权密钥
现在我们可以随身携带这个密钥id_dsa_150518,在任何地方连接到192.168.1.9服务器。
注意:我们现在说的密钥其实就是上面xshell生成的ssh私钥。
同时注意私钥id_dsa_150518。我们可以携带私钥文件或将私钥的内容复制到其他文件中。如下所示:
注意:正在复制ssh私钥的内容,不能缺少任何字符。
其次,连接windows下的ssh服务器
如果我们现在去一个新的地方, *** 作系统是windows,ssh的私钥就在我们身边,我们可以通过私钥连接到ssh服务器。
这里,我们以使用xshell连接ssh服务器为例来说明。当然,也可以使用其他ssh客户端软件进行连接。
使用以下命令连接到ssh服务器,如下所示:
宋承宪伊兰尼@192.168.1.9
此时,xshell会d出一个界面,要求你输入密码。如下所示:
我们不选择密码选项,而是选择公钥选项。然后选择浏览-文件,如下所示:
找到我们携带的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-Iid_DSA_150518ilanni@192.168.1.9
从上图中,我们可以清楚地看到,连接ssh服务器192.168.1.9仍然需要用户密码。
是我们的 *** 作错了还是怎么回事?
如果仔细看上面的提示,你会发现这是因为ssh私钥用户权限的设置过大,不安全。
ssh为了安全起见,对私钥文件的权限一般应该设置为600,即用户本人对私钥文件有读写权限,他所在的用户组和其他用户组对私钥文件没有权限。
现在我们只需要将ssh私钥文件的权限设置为600,如下:
chmod600id_dsa_150518
使用ssh-Iid_DSA_150518ilanni@192.168.1.9命令再次连接,如下所示:
从上图可以清楚的看到,我们现在已经进入了192.168.1.9服务器,没有密码输入。
注意:上述命令中的-i参数用于指定ssh私有密钥文件。
ssh命令相关参数的使用请参考ssh的帮助。如下所示:
ssh-帮助
关于ssh密钥可移植性的所有信息到此结束。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)