博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sshd免密码登陆的实现
阅读量:4114 次
发布时间:2019-05-25

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

首先要知道,远程登录时,进行身份认证的方式有两种:公钥;密码。公钥的方式就是用非对称密码算法,使用公私密钥来进行身份认证。密码的方式就是输入存在于远程电脑上的用户密码从而登录。这两种方式互相独立,使用证书认证过程中涉及到的passphrase和存在于远程电脑上的用户的密码之间没有联系。

下面是在windows上使用putty远程登录免输密码的操作方法。

第一步,生成一对密钥。这得使用putty提供的puttygen工具。打开puttygen,它默认的密钥类型是ssh-2,默认的密钥大小是1024比特,都接受默认值,点击generate按钮。用鼠标在puttygen的空白区域上随意移动(不移动的话进度条就会停下来),完成密钥的生成。

这之后,会显示出生成的public key, key fingerpint, key comment等信息,可以修改key comment以及设置key passphrase,因为我们要免输密码,所以就设置passphrase为空,所谓的免密码,免的就是这里的密码。

第二步,保存这对生成的密钥。puttygen上有相应的按钮,在本例中,把公钥保存为test.pub文件,私钥被保存为test.ppk文件。

第三步:在pageant中加载私钥文件。打开putty附带的pageant,载入刚才生成的test.ppk文件。

第四步:把公钥文件传送到远程开启sshd的电脑上。用传统方式登录到远程电脑上,在本例中我们以root用户登录,进入root的$HOME/.ssh目录下,打开authorized_keys文件,如果没有就新建一个,新增一行内容:ssh-rsa xxxx,其中xxxx是刚才的公钥(第二步中保存的公钥文件中的BEGIN和END之间的那部分)。ssh-rsa表示使用的是rsa算法。这些必须是同一行,不能分成多行。

现在一切就绪,本例中远程电脑IP是192.168.0.4,注意putty中的设置,如下图:

 

 回车就登录了。如果是其他用户,比如jcwkyl,那就在putty的host name中写。

请特别注意权限的设置:

chmod 600 $HOME/.ssh/authorized_keys

chmod g-w $HOME $HOME/.ssh/ $HOME/.ssh/authorized_keys

以上方法在redhat 10和cent os5上测试通过。

附:顺便贴一个在搜索这个主题时发现的一个挺好的网站的链接:

 

本文来自CSDN博客,转载请标明出处:

你可能感兴趣的文章
Flutter Boost的router管理
查看>>
iOS开发支付集成之微信支付
查看>>
C++模板
查看>>
【C#】如何实现一个迭代器
查看>>
【C#】利用Conditional属性完成编译忽略
查看>>
DirectX11 光照演示示例Demo
查看>>
VUe+webpack构建单页router应用(一)
查看>>
Node.js-模块和包
查看>>
(python版)《剑指Offer》JZ01:二维数组中的查找
查看>>
Spring MVC中使用Thymeleaf模板引擎
查看>>
PHP 7 的五大新特性
查看>>
深入了解php底层机制
查看>>
PHP中的stdClass 【转】
查看>>
XHProf-php轻量级的性能分析工具
查看>>
OpenCV gpu模块样例注释:video_reader.cpp
查看>>
OpenCV meanshift目标跟踪总结
查看>>
就在昨天,全球 42 亿 IPv4 地址宣告耗尽!
查看>>
听说玩这些游戏能提升编程能力?
查看>>
如果你还不了解 RTC,那我强烈建议你看看这个!
查看>>
沙雕程序员在无聊的时候,都搞出了哪些好玩的小玩意...
查看>>