烂泥:学习ssh之ssh密钥随身携带

本文首发于烂泥行天下linux

在上一篇文章《烂泥:学习ssh之ssh无密码登录》中,咱们讲解了如何使用ssh密钥,免密码登录服务器。shell

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

有关如何生成ssh密钥的详细步骤,能够查看上一篇文章《烂泥:学习ssh之ssh无密码登录》。安全

1、生成密钥服务器

如今咱们经过xshell生成密钥,注意:本章节,我只进行截图,不作进一步的文章说明。ssh

以下:ide

clip_p_w_picpath001

clip_p_w_picpath002

clip_p_w_picpath003

clip_p_w_picpath004

clip_p_w_picpath005

clip_p_w_picpath006

clip_p_w_picpath007

咱们如今有了公钥和私钥:id_dsa_150518.pub、id_dsa_150518,把公钥id_dsa_150518.pub上传到须要链接的服务器192.168.1.9ilanni用户的对应目录下。以下:学习

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

cat .ssh/authorized_keys3d

clip_p_w_picpath008

如今咱们就能够把这个密钥id_dsa_150518随身携带,不管在什么地方均可以链接192.168.1.9服务器。

注意:咱们如今所说的密钥,其实就是上面xshell生成的ssh私钥。

同时还要注意私钥id_dsa_150518,咱们能够携带该私钥文件,也能够把该私钥的内容复制到其余文件中也行。以下:

clip_p_w_picpath009

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

2、windows下链接ssh服务器

假如,咱们如今到一个新的地方,使用的OS是windows,而ssh的私钥就在咱们身边的话,咱们就能够经过该私钥链接ssh服务器了。

在此,咱们仍是以使用xshell来链接ssh服务器为例,进行讲解。固然你也可使用其余的ssh客户端软件,进行链接。

使用以下命令链接ssh服务器,以下:

ssh ilanni@192.168.1.9

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

clip_p_w_picpath010

咱们不选择Password选项,要选择Public Key选项。而后选择“浏览”--“文件”,以下:

clip_p_w_picpath011

找到咱们携带的ssh的私钥文件id_dsa_150518,以下:

clip_p_w_picpath012

选择私钥文件,以下:

clip_p_w_picpath013

clip_p_w_picpath014

经过上图,咱们能够很明显的看出在链接192.168.1.9服务器时,xshell确实没有提示咱们要输入密码。

注意:若是你的私钥文件不是随身携带而是记住私钥内容的话,你也能够创建一个文件,好比ilanni.txt,把私钥的内容复制到ilanni.txt进去保存。

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

3、linux下链接ssh服务器

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

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

ssh -i id_dsa_150518 ilanni@192.168.1.9

clip_p_w_picpath015

经过上图,咱们能够很明显的看出,链接ssh服务器192.168.1.9仍是须要输入用户密码的。

是咱们的操做不对仍是怎么回事呢?

若是你仔细看上述的提示的话,你会发现这个是由于ssh私钥用户权限的设置太大,不安全形成的。

ssh为了安全起见,对私钥文件的权限通常要设置为600,即用户本身对该私钥文件具备读写权限,其所在的用户组及其余用户组对私钥文件不具备任何权限。

咱们如今只须要把ssh私钥文件的权限设置为600便可,以下:

chmod 600 id_dsa_150518

clip_p_w_picpath016

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

clip_p_w_picpath017

经过上图,咱们能够很明显的看出,如今咱们已经进入到192.168.1.9这台服务器中,并且是没有输入密码的。

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

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

ssh --help

clip_p_w_picpath018

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