直接上方法:禁用系统的selinux功能,命令#setenforce0,但重启系统,selinux仍然启用。根治方法:更改SElinux的配置文件/etc/selinux/config,修改SELINUX=disabled。(配置文件中有说明),重启机器。然后在试试?PuTTY登录界面出现了那渴望已久的"Enterpassphrase for key...:",输入密钥的指纹,成功进入。
 
下面听我慢慢道来。
学习Linux也有段时间了,但一直在弄些服务器的搭建和配置。想来,由于没经验,应聘一些Linux系统运维的工作,总是被拒绝(倒是那次杭州淘宝网的IDC值班运维的offer让我高兴了一阵子,终究因为当时还大三,没有办法全职,最终只能作罢,现在想来实在可惜)。所以我打算,对应工作实战,一步一步来实践。弄到ssh这里时,实在是将了我一军。putty这个sshclient forwindows还是挺好的,至少很多人用并且评价不错。简单,但同时功能单一。有利就有弊,所以putty配套的还有puttygen,全称puttykey generator,也就是putty密钥产生器。同时还有配套的PSFTP、PSCP等。
怎么在Windows下远程登录Linux(我的是CentOS)?
1、配置Linux里的sshd,/etc/ssh/sshd.conf,修改配置文件,密钥位数、ssh版本、passwd认证等。
2、生成rsa密钥,#ssh-keygen -b 1024-t rsa
3、使用PSFTP下载私钥id_rsa至本地。
4、将下载的私钥导入puttygen然后保存私钥为putty使用的ppk文件。
5、设置putty,制定Auth中的private keyfile,然后登录即可。
一开始我完全是按照步骤来的,思路也很清晰,先生产然后下载然后导入更改格式,最后认证即可。但一看是的三四天,我将这一过程试了不下10遍,终究不行。还试了网上网友说的各种更改设置,都无济于事。并且还用了本地生成,然后上传公钥的方法(这种方法最安全,推荐,因为公钥被盗也无所谓)。最终都是登录无门。
然后又再网上翻天覆地的找各种解决方法,都无济于事。这时的我对很多网友实在很无语,自己没有亲自实践就在网上随便乱贴东西或是copy别人的东西。这时我只能靠自己了。
其实,我从一开始就考虑是不是iptables的缘故,但是自己记得当时在设置iptables时已经开放了22端口啊。苍天,我只好先:serviceiptables stop。但是仍然是无用啊。
最后想到是不是上级目录和文件权限的问题,然后又chmod修改权限,仍然无解。
最后,想到一下SElinux,看书时(那个南非蚂蚁大哥写的)有提到Selinux这个新的安全工具。想来应该是它在作怪,寻找/etc下发现selinux目录,打开发现config和sestorecron.conf,恍然大悟,修改之保存。然后又在网上搜索看了看selinux的详细,果然是它在作怪。最后按本文开头介绍的方法成功完成SSH2的RSA认证。
其实,中间的过程做的还有很多,比如查看/var/log下的登录日志,其实还是在这里找到了第一丝线索,但由于英文水平和系统知识都不够火候,以至于费了老大功夫。其实在开始PUTTY失败是我还试了很多其他的SSH客户端,但同样不行,最终锁定是服务器设置的问题。
以上只是介绍了整个过程,中间有什么不明白的百度一下就好。如果看的人多,后期再把完整的过程写了。

putty加了密钥ssh不能登陆,PuTTY:server refused our key问题的解决(转)的更多相关文章

  1. Putty server refused our key的解决方法

    在使用putty工具使用密钥远程登陆CentOS系统时,出现Putty server refused our key提示,解决办法: 1.查看是否关掉SELINUX. 相关命令:getenforce, ...

  2. (转)Putty server refused our key的三种原因和解决方法

    原文 上一篇博文介绍了使用Putty免密码登录,我后面试了另一台虚拟机,结果putty显示错误server refused our key(在linux下则表现为仍需要输入密码),搜索了下,很多人都遇 ...

  3. 阿里云 putty链接服务器出现 server refused our key

    阿里云 putty链接服务器出现 server refused our key 创建了密钥对绑定实例,puttygen生成ppk,putty配置参数,连接,一步一步来的,结果出现 server ref ...

  4. Putty使用公钥认证时,报错:Disconnected: No supported authentication methods available(server sent:public key) 问题的解决

    Putty使用公钥认证时,按照常规方法设置,一直报错:Disconnected: No supported authentication methods available (server sent: ...

  5. 很好用的取代 PuTTY 的SSH远程登陆软件 Termius

    一直以来, 我都是用 PuTTY 一个窗口一个窗口来监视我所有的远程服务器. putty-connections-on-a-screen 总感觉非常的不方便, 特别是当远程链接断开需要再重新打开PUT ...

  6. Ubuntu上安装和使用SSH,Xming+PuTTY在Windows下远程Linux主机使用图形界面的程序

    自:http://blog.csdn.net/neofung/article/details/6574002 Ubuntu上安装和使用SSH  网上有很多介绍在Ubuntu下开启SSH服务的文章,但大 ...

  7. windows下配置ssh(FreeSSHD + putty)

    windows下配置ssh(FreeSSHD + putty): 1.关于配置过程找到一篇很好的博客,推荐大家先好好看一下,这篇博文解决了大方向问题. 地址:http://blog.csdn.net/ ...

  8. Putty——支持Telnet,ssh连接的连接软件

    简介 PuTTY 的官方网站:http://www.chiark.greenend.org.uk/~sgtatham/putty/,截止到 2007年6月,发布的最高稳定版本是 0.6.PuTTY 是 ...

  9. Linux Centos配置ssh客户端工具putty

      配置ssh客户端工具putty 1.直接点击putty.exe文件 2.配置putty 3.配置putty编码 4.配置putty字体大小 5.配置putty样式 6.保存配置信息 7.配置MTp ...

随机推荐

  1. (一)apache atlas源代码编译与打包

    特别注意: atlas已经提供了0.8版本可以安装了,只有在国外的服务器上安装编译才比较顺利,可以按照官方文档去安装. 国内很多网址有被墙的问题,目前还没有完全解决,可能安装不成功 安装文档地址:ht ...

  2. ROS进阶学习笔记(11)- Turtlebot Navigation and SLAM - ROSMapModify - ROS地图修改

    ROS进阶学习笔记(11)- Turtlebot Navigation and SLAM - 2 - MapModify地图修改 We can use gmapping model to genera ...

  3. Ruby学习笔记1 -- 基本语法和数据类型, Class

    Ruby 有4种数据类型:String, Boolen, Array, Hashes Ruby 有3种操作方法:Method, attribute, ?? Ruby 有xxx: Classes, Ob ...

  4. eclipse创建的maven项目中使用javafx

    类似普通maven项目,不需要特地创建javafx项目. 将fxml资源文件放在resource目录下即可.

  5. 35.在CSS中 只用一个 DOM 元素就能画出国宝熊猫

    原文地址:https://segmentfault.com/a/1190000015052653 感想: 真神奇! HTML code: <div class="panda" ...

  6. php CURL模拟GET、POST请求。

    /** * get * @param string $url 请求地址 */ function GetHttp($url){ // 关闭句柄 $curl = curl_init(); // 启动一个C ...

  7. electron 项目的打包方式,以及 jquery 插件的修改使用

    < 一 > 应用打包 1,首先确定安装了 node 和 npm 2,全局安装打包依赖  => npm i electron-packager -g 3,打包命令 electron-p ...

  8. C# IIS 服务器上传图片500解决办法

  9. js中json字符串与对象的转换及是否为空

    1.json对象(数组)转字符串 var b=[ { "CategoryName" : "Beverages", "ProductName" ...

  10. leetcode1018

    根据题目的hint,使用单层循环计算: class Solution(object): def prefixesDivBy5(self, A: 'List[int]') -> 'List[boo ...