将PEM关键RSA SSH格式问题,怎么拟解决的关键技术问题

SSH 连接 EC2 的问题 (Permission denied) · Ruby China
最近整了2个instance,刚开始都能连上,服务都部署好了,但是过两天连接时候就会出现Permission denied。
大家有遇到吗?怎么解决的?
说的太不具体了
debug情况是这样的,我的key文件是blog-ec2.pem
OpenSSH_5.6p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /etc/ssh_config
debug1: Applying options for *
debug1: Connecting to ec2-54-248-58-236.ap-northeast-1.compute.amazonaws.com [54.248.58.236] port 22.
debug1: Connection established.
debug1: identity file blog-ec2.pem type -1
debug1: identity file blog-ec2.pem-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.6
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server-&client aes128-ctr hmac-md5 none
debug1: kex: client-&server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(92) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'ec2-54-248-58-236.ap-northeast-1.compute.amazonaws.com' is known and matches the RSA host key.
debug1: Found key in /Users/xudannie/.ssh/known_hosts:13
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/xudannie/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Trying private key: blog-ec2.pem
debug1: read PEM private key done: type RSA
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).
debug1: Offering RSA public key: /Users/xudannie/.ssh/id_rsa
今天碰到类似的问题,你没有用那个key文件。
我新建的虚拟机 也是报 “Permission denied (publickey).” 错误。我的是在 ec2 东京申请的,各种的找不到原因。
没办法转战到 新加坡,然后所有流程走了一遍,然后就成功了。你也是一下呗。你在 instance 上右键选择 connect ,看你的 ssh 连接的方法跟他的一样不?
命令行对不对? ssh -i /path/to/blog-ec2.pem user@host
昨天碰到一次直接在虚拟机内 init 6 之后 /etc/ssh/sshd_config 被回滚,把 PasswordAuthentication 给禁用了,刚开始用 ssh -i key 也登录不能,过了一会儿好了 -_-z
亚马逊 ec2 的 instance 上直接有 ssh 的方法什么的。
MindTerm / SSHTerm 类 Java SSH 客户端,可以在浏览器中运行(applet)
第一次连的时候 要设置规则 开放端口 说得对。
ec2的web console上有方法。按照文档来绝对能行
后方可回复, 如果你还没有账号请点击这里 。
共收到 8 条回复扫一扫,访问微社区
查看: 14985|回复: 5
云币51 威望42 最后登录积分102注册时间帖子
小白[LV1], 积分 102, 距离下一级还需 198 积分
云币51 威望42
大神们,我刚刚在云平台购买一个Linux云主机服务。云平台给我提供了一个私钥文件。
我连接Linux使用的是一个叫做“终端”的程序:
22:24 上传
客户端程序
操作描述如下:
1.当云主机没有绑定密钥的时候,通过指令“ssh root@公网ip”,输入密码,可以连接云主机。
2.当云主机没有绑定密钥的时候,有安全风险,因为登录的时候看到提示有几百次失败的连接请求。
3.当云主机绑定密钥的时候,ssh指令被拒绝,如图:
22:33 上传
4.我有私钥文件,但是不知道如何配置(腾讯云的文档中没有教授如何在Mac中配置私钥文件,而且我在百度也没有搜到配置方法)
求大神教授如何配置私钥文件。
有 3 人觉得本主题有帮助
云币5740 威望2983 最后登录积分2983注册时间帖子
云币5740 威望2983
您好,我建议您先用官网(详见:)下的windows配置方法,将腾讯云证书转成PPK文件,然后在终端中输入:sudo port install putty复制代码安装Puttyputtygen 你的证书.ppk -O private-openssh -o 你的证书.pem复制代码将你的PPk证书转换成Pem证书ssh -i 你的证书文件.pem 你的用户名@你的服务器IP复制代码
云币51 威望42 最后登录积分102注册时间帖子
小白[LV1], 积分 102, 距离下一级还需 198 积分
云币51 威望42
Techeek 发表于
您好,我建议您先用官网(详见:http://www.qcloud.com/wiki/%E9%80%9A%E8%BF%87ssh%E5%AF%86%E9%92%A5%E6% ...
感谢您这么晚为我提供帮助,但是好像还是不行,因为在终端执行“sudo port install putty” 提示找不到指令。
(第一次输入该指令时曾让我输入密码,输入密码之后返回的也是“command not found”)
我是用管理员账号登录的Mac,并非游客。
02:15 上传
sudo port install putty
不过我在man sudo的时候,是可以看到帮助信息的,说明指令是有的,而且我认真看了几遍,没有输入错误。求指教
云币3989 威望3569 最后登录积分3569注册时间帖子
云币3989 威望3569
1.在mac终端和linux终端都使用 ssh-keygen -t rsa -P '' 生成ssh密钥对
13:11 上传
2.将mac上的公钥复制到linux的authorized_keys文件里,没有这个文件的话请建立。
3.重启ssh服务生效。
13:12 上传
云币6112 威望4220 最后登录积分4220注册时间帖子
云币6112 威望4220
也可以在云服务器面板中SSH密钥创建密钥,并下载保存,绑定主机
然后连接的时候使用以下命令
ssh -i 下载下来的密钥的位置 登陆名@ip
云币10 威望6 最后登录积分14注册时间帖子
小白[LV1], 积分 14, 距离下一级还需 286 积分
云币10 威望6
1,在服务器里面ssh-keygen,回车回车回车ssh-keygen复制代码2,查看mac密钥,并复制vim .ssh/id_rsa.pub复制代码3,将密钥粘贴进authorized_keys文件vim .ssh/authorized_keys复制代码4,exit登出服务器,再ssh服务器就不用输入密码了,为了安全还可以把密码登陆关闭vim /etc/ssh/sshd_config
PasswordAuthentication no复制代码5,重启ssh
Powered by不为别的,只为学习……
SSH证书登录方式(无密码验证登录)
常常在工作中需要在各个Linux机间进行跳转,每次密码的输入成了麻烦,而且也不安全。在实际使用中,在windows下常使用secureCRT工具或teraterm工具进行SSH登录,以及实现hadoop集群部署要求的无密码跳转问题。
SSH分为有密码登录和证书登录。考虑到安全性因素,一般都是采用证书登录,即:每次登录无需输入密码。如果是密码登录,很容易遭受到外来的攻击。
一、证书登录的过程:
1.客户端生成证书的私钥和公钥。
私钥放在客户端,公钥上传到服务端(远程登陆端)。
一般为了安全,访问有黑客拷贝客户端的私钥,客户端在生成私钥时,会设置一个密码,以后每次登录ssh服务器时,客户端都要输入密码解开私钥(如果工作中,你使用了一个没有密码的私钥,有一天服务器被黑了,你是跳到黄河都洗不清)。
2.服务器添加信用公钥。
把客户端生成的公钥,上传到ssh服务器,添加到指定的文件中,这样,就完成ssh证书登录的配置了。
假设客户端想通过私钥要登录其他ssh服务器,同理,可以把公钥上传到其他ssh服务器。
实际应用举例:
工生成好私钥和公钥(千万要记得设置私钥密码),然后把公钥发给运维人员,运维人员会登记你的公钥,为你开通一台或者多台服务器的权限,然后员工就可以通过一个私钥,登录他有权限的服务器做系统维护等工作,所以,员工是有责任保护他的私钥的,如果被别人恶意拷贝,你又没有设置私钥密码,那么,服务器就全完了,员工也可以放长假了。
二、证书登陆实例:
  环境:A通过ssh方式登陆B,即:A为本地机,B为远程登陆server
①生成公钥和私钥
# ssh-keygen -t rsa
(连续三次回车,即在本地生成了公钥和私钥,不设置密码)
②将公钥拷到B端
root@B的iP:root/.ssh/id_rsa.pub
./.ssh/id_rsa.pub
(需要输入密码)
①创建authorized_keys2文件
# touch /root/.ssh/authorized_keys2
(如果已经存在这个文件, 跳过这条)
②追加公钥到authorized_keys2中
# cat /root/.ssh/id_rsa.pub
&& /root/.ssh/authorized_keys2 (将id_rsa.pub的内容追加到 authorized_keys2 中)
3.SSH证书登陆验证
# ssh root@B的iP
(因为没有设置私钥密码, 所以不需要密码, 登录成功)
三、其他应用场景:
SecureCRT密钥key远连接程ssh证书登录Linux
国内大部分人用的系统是windows,而windows下有很多ssh客户端图形工作,最流行,功能最强大的就是SecureCRT了,所以我会单独针对SecureCRT简单讲下实现ssh证书登录Linux的要点,步骤如下:
1:在SecureCRT创建私钥和公钥:
主菜单-&工具-&创建公钥-&选择RSA-&填写私钥的密码-&密钥长度填为1024-&点击完成,生成两个文件,默认名为identity和identity.pub
2.把私钥和公钥转换为OpenSSH格式:
主菜单-&工具-&转换私钥到OpenSSH格式-&选择刚生成私钥文件identity-&输入私钥的密码-&生成两个文件,指定为id_rsa, id_rsa.pub
3.把公钥id_rsa.pub上传到ssh服务器,按照之前配置服务器端的证书,再配置一次。
另外,如果你之前用windows的 SecureCRT的证书登录linux的,有一天你换成了linux,并希望通过原来的私钥登录公司的服务器,那么可以把id_rsa拷贝倒~/.ssh/目录下。
ssh对证书的文件和目录权限比较敏感,要么根据出错提示设置好文件和目录权限,要么是把StrictModes选项设置为no。
hadoop部署的无密码ssh登录
hadoop要求master要无密码跳转到每个slave,那么master就是上文中的ssh客户端了,步骤如下:
1.在hadoop master上,生成公钥私钥,这个场景下,私钥不能设置密码。
2.把公钥上传到每个slave上指定的目录,这样就完成了ssh的无密码跳转了。
四、总结:
ssh证书登录,在实际工作才是最常用的登录方式,本人结合了真正工作的场景普及了ssh证书登录的知识,并根据流行的hadoop部署和windows下最常用的SecureCRT实例讲解了证书登录。
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
白手起家, 积分 120, 距离下一级还需 80 积分
论坛徽章:0
有两台服务器A和B,SSH登陆都没有问题,但是我从A登录到B,ssh -vvv host 显示
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type &unknown&
Enter passphrase for key '/home/username.ssh/id_rsa'
然后输入密码不能通过,这是什么情况啊,
chmod 600 ~/.ssh/*
chmod 700 ~/.ssh
我的private key是在id_rsa这个文件里面的,内容如下
---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ----
Comment: &[2048-bit rsa, Administrator@CHINA-1D5DGHJK, Sun Aug 11 201\
2 11:19:31]&
P2/56wAAA/MAAAA3aWYtbW9kbntzaWdue3JzYS1wa2NzMS1zaGExfSxlbmNyeXB0e3JzYS
1wa2NzMXYyLW9hZXB9fQAAAAgzZGVzLWNiYwAAA6DvoIA2cydSQfF0a17DlOAjkDOqkC4C
b2ZyX/yGaBu3xo8lUvBahT4xWeZahAgpdoToCEqMn9q0blEp0ViH3B2yT31KJBo/bmRKNe
ksbuBpUt+U0cVYg40fd6Qy+5emvnhG8/kYj2aZxi97mW6zoKHf74goVBwvfSPCAKW2818F
9a+9MWyMmlClD7B91PamGm/07n4AJrypa6BgymLZGStXi9WT8NC11rDWSSmUUsuj+S+uIy
1Q7j9fFKG7FGX1zhksHMV5HpSSTrqEF71P5Vnrc/aBr6qtiZQ7JQdFncrbL3pDYFfx9eBY
+06dIj4/ayWaXnyc3ssKjRwWlLldjLIJL9TnNT83EL0VifyizmnXDbZMh4d2CQZ20MSyC0
EmBXjn2SaWMTg9U9KAa3uKo2tV+3lG0VnyHjDbJfNFOSNBUkDlzUAGRnB4CEo088jS87MX
mXxCgtaaL7K0gHRxtuLObQsozRKPyJwNMPwoPOeQTYHYrik41V1bZD5I5+Ca8JdM1u6mGY
Jn5FVmuAG/HcJn4Uqy/HPDcL2O/NOJUxBN813ouxaZN7XAJ7qXu31mbD3uezjn1DmG6lx5
rQOQ8WELqCy++Hn/AZ2XfVMzsIs9TVNCQT7qKf5V97/umvnwpNA8YMN5MrDq6m48FZ+L3A
QR+9ji3jFNXP9DgwdpNan1Tt9DqRfSGt9fo1g3E1rydbGwWAXItJuQBUwH8W+3vAb3pkA0
l2yaEFVGm8YOKGPLt7THFZ4SJHE7gX1A0ZeX0ie/g0y4xVLwYKBFGasGZQsdWXJXWi79Ek
MQcqgb25z52lgYE6jXDFb5jowL/+YP6OQXVt9MKebCQ4mn6X0UZF6V6HWbLktSXxTHkD/n
JRzLDhwN5Z43nJ9FLS95Ket9/erWithhZdIsnMk4TL1ofegXOjcf1yU7etsdUgZMHIe0He
dOLCnrVnzj129f4EEky5eTO2KKttmELj1B6mZpjvAyFptCp3LfkOilpDqLkMiu0/s8UQBl
GaiSTSkHp8CUo8aJRaGrsKc0+kgSWq4OJfjkq5Xu3WolVkbv3CToSL0oT4pL9wFR0UldcB
2eSPmyHE/iCjHHpwW9+n9AgbLS3nnUNBVmymQYkkEpOQaaYjW6McAAlBjGj9AU/LdJdU7W
3WXgVImC95C8Ss8UnFzwAbQ1PU/Nz4wGN9nhk/tccmDu/aaja9xsrQ6FhnQ+0g9uevR/b9
SUo64akz0/LSYAacrg
---- END SSH2 ENCRYPTED PRIVATE KEY ----
不知道哪位大侠能帮我一下呢?谢谢啦!
大富大贵, 积分 12329, 距离下一级还需 7671 积分
论坛徽章:16
是public key 要放到remote server 的authorized
白手起家, 积分 120, 距离下一级还需 80 积分
论坛徽章:0
& & 这个也放了啊,一直就不行
巨富豪门, 积分 23013, 距离下一级还需 16987 积分
论坛徽章:21
把公钥拿到其它的机器的.ssh 目录下,重命名为authorized 应该就可以了,authorized权限为600
论坛徽章:379
检查下/var/log/secure日志,如果有问题,日志里面会有记录的.
白手起家, 积分 120, 距离下一级还需 80 积分
论坛徽章:0
& & 一直不行啊,不知道为什么,重新生成了密匙对也不行。就是在终端用ssh命令连接不可以,但是可以直接通过xshell登录,太奇怪了
巨富豪门, 积分 23013, 距离下一级还需 16987 积分
论坛徽章:21
& & ssh命令连接命令贴一下。
白手起家, 积分 120, 距离下一级还需 80 积分
论坛徽章:0
端口是22也没问题
巨富豪门, 积分 23013, 距离下一级还需 16987 积分
论坛徽章:21
& &也没问题啊,要不你把你配置密钥的步骤贴上来看一看。
白手起家, 积分 120, 距离下一级还需 80 积分
论坛徽章:0
用secure file transfer client
选择generate new
选择2048,RSA
然后自己设置了passphrase
北京盛拓优讯信息技术有限公司. 版权所有 京ICP备号 北京市公安局海淀分局网监中心备案编号:22
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处博客访问: 401056
博文数量: 78
博客积分: 1797
博客等级: 上尉
技术积分: 1166
注册时间:
从事编程10年,用过几种编程语言,c++、java、php、Python、shell,经历过公司的兴衰,能编程,能顶压力。
分类: LINUX 22:10:05
1.&密钥认证登陆
1.1&Linux的密钥登陆过程
下面是密钥登陆的整个过程,包括一下几个方面:
u&1)密钥的产生
u&2)拷贝公钥到目标机
u&3)改写目标机authorized_keys文件
u&4)使用密钥登陆目标机
具体指令如下:
1)密钥的产生
[root@localhost&.ssh]#&ssh-keygen&-t&rsa&&
Generating&public/private&rsa&key&pair.
Enter&file&in&which&to&save&the&key&(/root/.ssh/id_rsa):&rsa_my
Enter&passphrase&(empty&for&no&passphrase):&
Enter&same&passphrase&again:&
Your&identification&has&been&saved&in&rsa_my.
Your&public&key&has&been&saved&in&rsa_my.pub.
The&key&fingerprint&is:
30:62:26:30:59:f1:33:aa:31:15:71:c1:91:2f:4d:46&root@localhost.localdomain
[root@localhost&.ssh]#&ls
1&&2.pub&&authorized_keys&&known_hosts&&rsa_my.pub
2&&3.pub&&id_rsa_1.pub&&&&&rsa_my
2)拷贝公钥到目标机
[root@localhost&.ssh]#&scp&rsa_my.pub&&&root@192.168.1.97:~/.ssh
root@192.168.1.97's&password:&
rsa_my.pub&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&100%&&408&&&&&0.4KB/s&&&00:00&&&&
[root@localhost&.ssh]#&ssh&root@192.168.1.97
root@192.168.1.97's&password:&
Last&login:&Wed&Sep&29&10:36:11&2010&from&192.168.1.96
[root@localhost&~]#&ls
anaconda-ks.cfg&&geng&&&&&&&&&install.log.syslog
Desktop&&&&&&&&&&install.log&&sshd_config.bak
[root@localhost&~]#&cd&.ssh
[root@localhost&.ssh]#&ls
authorized_keys&&rsa_my.pub
3)改写目标机authorized_keys文件
[root@localhost&.ssh]#&cat&rsa_my.pub&>>&authorized_keys&
[root@localhost&.ssh]#&logout
Connection&to&192.168.1.97&closed.
[root@localhost&.ssh]#&ssh&root@192.168.1.97
root@192.168.1.97's&password:&
4)使用密钥登陆目标机
[root@localhost&.ssh]#&ssh&-i&
Last&login:&Wed&Sep&29&16:51:48&2010&from&192.168.1.96
[root@localhost&~]#
注:从上面的过程可以看出,密钥是跟目标机的登录用户成对应关系的
2.&known_hosts中密钥
这个密钥跟密钥登陆认证无关,在没有密钥登陆认证的情况下,使用的密码登陆,这个密钥也是必须的。
客户机会把从目标机获得的密钥存储在中,当中的公钥与目标机的私钥不是一对的时候,ssh将拒绝登陆,这时需要更新密钥才可以登陆。
2.1&密钥扫描
-t&指定参数类型
&&&目标机ip
扫描结果如下:
2.2&私钥产生公钥命令
上面产生的公钥是正确的。格式如下:
u&题外话:
penssl也有种产生由私钥产生公钥的方法:
但是产生公钥格式与上面的不一致,格式如下:
3.1&SSHSecureShellClient密钥登陆
一、密匙认证原理简介&
  密匙认证需要依靠密匙,首先创建一对密匙(包括公匙和私匙,用公匙加密的数据只能用私匙解密),把公匙放到需要远程服务器上,私钥放在客户端。这样当登录远程服务器时,客户端软件就会向服务器发出认证请求;服务器收到请求之后,先在服务器的宿主目录下寻找你的公匙,然后检查该公匙是否是合法,如果合法就用公匙加密一随机数生成所谓的“challenge”发送给客户端软件;客户端软件收到“challenge”之后就用私匙解密再把结果发送给服务器。因为用公匙加密的数据只能用私匙解密,服务器经过比较就能知道该客户连接的合法性。&
二、客户端设置&
  1、在SSH官方网站,或本站下载SSHSecureShellClient-3.2.9.exe,用默认方式安装。&
2、创建密钥对。单击生成新的公钥。
单击&Generate&new...&生成蜜钥。
设置登陆时要用的Passphrase
单击&Upload...上传公钥。
3、检查密钥文件的读写属性。默认安装后密钥对存放路径为C:\Documents&and&Settings\Administrator\Application&Data\SSH\UserKeys&,将私钥设置成仅允许属主有读写权,也可将他放在U盘上,使用时再导入,以确保密钥安全。&
4、在不同WIN客户机上登陆。有时需要临时在其他WIN客户机登陆服务器,这时可用上述方法安装Secure&Shell&Client,然后将C:\Documents&and&Settings\Administrator\Application&Data\SSH\UserKeys目录里的文件复制到新的WIN客户机上对应目录里即可。&
  !!!!注意:当不用该客户机后必须将上述目录里的文件删除,以防密钥被人盗取!!!!
三、服务端设置(服务端是FB5.3、FB6.0用最小化安装后自带的Openssh)&
  1、用vi编辑/etc/rc.conf,确保有以下行:&
  sshd_enable="yes&
  2、在FB服务器添加新用户user1,并指定他属于whell组。&
  3、用vi编辑/etc/ssh/sshd_config,将FB服务器设置成密码验证方式。/etc/ssh/sshd_config文件内容有以下行:&
  Port&22&
  ListenAddress&10.1.1.1&
  PasswordAuthentication&yes&
  ChallengeResponseAuthentication&yes&
  UsePAM&yes&
  UseDNS&no&
4、重启SSHD服务。&
  #/etc/rc.d/sshd&restart&
5、在WINXP上运行SSH&Secure&Shell&Client-3.2.9客户端,用密码方式登陆FB&SSHD服务器,将前面创建的公钥文件12.pub上传到用户家目录,即:&
  /usr/home/user1/.ssh/12.pub&
6、在FB服务器上进入用户的.ssh目录下,把SSH&Secure&Shell&Client格式的公钥转换成Openssl格式的公钥。&
  #cd&/usr/home/user1/.ssh/&
  #ssh-keygen&-X&-f&12.pub&>>&authorized_keys&;转换格式并将公钥导入到authorized_keys文件中&
  #chmod&0640&authorized_key&;设置权限,使该文件仅允许属主读写&
  #rm&12.pub&;删除上传的公钥&
7、用vi编辑/etc/ssh/sshd_config,将FB服务器设置成密钥验证方式。&
  Protocol&2&
  PasswordAuthentication&no&
  PermitRootLogin&no&
  ChallengeResponseAuthentication&no&
  PubkeyAuthentication&yes&  &
  AuthorizedKeysFile&.ssh/authorized_keys&
8、重启SSHD服务器&
  #/etc/rc.d/sshd&restart&
9、在WINXP上运行SSH&Secure&Shell&Client-3.2.9客户端,用密钥方式登陆FB&SSHD服务器。&
图2-输入通行密码&
图3-su到root&
10、阻止系统让用户user1用口令方式登陆FB服务器。使用vipw&命令,把要阻止用口令登陆的用户的加密口令部分替换成一个“*”符,存盘。这时系统就会更新/etc/master.passwd&文件,及用户名/口令数据库,即可达到阻止用户用口令方式登录系统。
3.2&Putty密钥登陆
在网上类似的文章很多,我这篇主要描述如下几个过程:
1、putty&生成&public&key&和&private&key&
2、将&public&key&分发到Linux服务器上面,使putty可以使用密钥连接到Linux
3、将private&key&导出成openssh&private&key格式,并分发给SecureCRT使用
4、将openssh&private&key分发到其它两台Linux,使他们互相信任
1、putty&生成&public&key&和&private&key&
下载putty,这个不用说了吧。打开&PUTTYGEN.EXE&
选好参数,点击&Generate&,然后不断晃动鼠标。
再分别点&Save&public&key&和&Save&private&key&将&public&key&和&private&key&保存到硬盘中。
2、将&public&key&分发到Linux服务器上面,使putty可以使用密钥连接到Linux
用notepad打开public&key,然后将base64那几行修改成一行,把头和尾巴的注释去掉。
----&BEGIN&SSH2&PUBLIC&KEY&----
Comment:&"nhinc-rsa-key"
AAAAB3NzaC1yc2EAAAABJQAAAIEAiCezXwYbY/gVl+B5JiPoEisVddQVrYnRWgiK
rxgMBGL0H0ShWkmegyfvPW8OUVEhWLCHseYwzoK2KeIV7nvKGd+N/3VmB7huuYMT
CLXJSISrxQb/wUl+/946PhGFZSncHKKbRfbn6gGJiMTZy+OX0seddoZZ8mskVkTL
----&END&SSH2&PUBLIC&KEY&----
修改成这样:
AAAAB3NzaC1yc2EAAAABJQAAAIEAiCezXwYbY/gVl+B5Ji................
然后,把public&key传到服务器上面,放在/root/.ssh/目录中,然后执行
cat&[public&key&file&name]&>>&authorized_keys
然后修改&authorized_keys&,在刚刚添加的那段Base64字符串前面加上&ssh-rsa&,记住后面加个空格分开,大致如下:
ssh-rsa&AAAAB3NzaC1yc2EAAAABJQAAAIEAiCezXwYbY/gVl+B5Ji................
重启一下&sshd&服务
service&sshd&restart&
下一步配置putty使用密钥登陆Linux,先配置登陆名:
在配置private&key所在的目录:
当然连接服务期的地址,这些就不说了。
一切设置好之后,就可以连接到Linux了。
3、将private&key&导出成openssh&private&key格式,并分发给SecureCRT使用
再次打开PUTTYGEN.EXE
点击&Load&,&将刚才生成private&key&文件Load进来。
然后,另存为&openssh&private&key&。
将public&key&和&openssh&private&key&的名字修改为如下对应格式:
public&key&&:&&[openssh&private&key&name].pub
private&key&:&[openssh&private&key&name]
这个界面中点击&属性&
在这个界面中,填入openssh&private&key的路径,如果上面public&key和private&key的名字不对应的话,就会报找不到文件。
一切设置妥当后,就可以连到Linux了。
4、将openssh&private&key分发到其它两台Linux,使他们互相信任
将openssh&private&key上传到&.ssh&目录中,并改名为&id_rsa&,然后重启&sshd&服务。
两台服务器都要这样做。
一切配置妥当后,两台Linux之间就可以通过密钥认证了。
测试方法如下:
ssh&[remotehost]&date&&
如果不用输入密码证明OK啦。
阅读(14303) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
请登录后评论。

我要回帖

更多关于 解决环境问题的关键 的文章

 

随机推荐