由于业务原因,需要登陆客户的一台服务器。本来很简单的一件事情,由于信息的不完全,搞得很是头大。
首先,我们互相都不知道对方是采取什么手段使用ssh的,open_ssh还是ssh?rsa还是dss,ssh1还是ssh2。对方没给我这些信息,我也没主动要。再次,从技术角度来说,的确对ssh理解不够深刻,所以没有猜到对方给的文件里其实已经包括public key和private key了。
总结了一下,同外界打交道,特别是在交流不是很方便的时候,一定要把环境和来龙去脉都说清楚才行,否则会造成误解。
好,闲话少说,咱开始谈技术。
相关软件可以到这个网站下载,putty不错,以前我一直用它。只是secureCRT能保存密码,所以才转的。要是说轻量,还是putty,一张磁碟能放好几个。
请仔细看这个文件
PuTTY-User-Key-File-2:ssh-rsa
Encryption: aes256-cbc
Comment: rsa-key-20050913
Public-Lines: 4
AAAAB3NzaC1yc2EAAAABJQAAAIB6rd3OFezsOqWrEBtg+I0jmBlDDeAvVut0BD8q
ad/fjW4xEXof8fYth27uyJN51/onFNPlAxGq0JJ329+hMDxV1QkcMBNoJJ+XC15f
1YckGRqxTIcroOnZpRstrOP0KS93Yd2qYhLrEL40azG7Z6wY4flFX1cXzmnoLPme
eoUjcQ==
Private-Lines: 8
AAAAgAnya+4ddBMnWYppFvoGUKIFadUBIAPWnXgcBR8dV1dQqBHQ/BBtkIA7adwC
bNKHIh7YLNs3maYQ6Uf9EiHTeoNiqiVnMtzmfRrBvw8eLeFDwPZPKGJ4E34M+Aug
MqT7K+JSi4D24AzSQgzMQ6+zUK4AGQODwP8VHs7K5MCBk0y9AAAAQQDYU/6hBNSg
Q6nLJZuatzL5SN5jR874zvnHGgKARXUzMKlJra3AxpZhUqIu9rdCIlZ4gUXKit07
YmFg3ULd6rztAAAAQQCRLVBA8Jm+/6NABF8b72wxhfUY9/OJ1SKTY0Z02IwxjDwe
IhtnK7aOPPRk+DfXUWBoQ37mf/COi5BbFxVegbQVAAAAQDIZZ1otEbbe/lbkBv9+
5lFSx3ZAT6TL5rwyf+sS59FC+gGkQi5/SjxfxGUWcTUehD8KVFW+TaOt6swhojn1
YBo=
Private-MAC: 6b7f9580ec31ffba6428ce360ad005f0a16e1a29
我们能得到一些什么信息呢?
1,首先这是个putty专用的认证文件,不适用用其他软件。
2,Encryption: aes256-cbc 文件是加过密码的。
3,文件包含pub key 和 pivate key
只是你不知道用ssh1还是2而已,这个可以试出来,一般rsa 1024位的是使用ssh2。
这个文件起什么作用呢?其实它是由一种工具:puttygen.exe生成的。这个程序生成一对公私钥,然后把公钥传到要登陆的服务器,按照我以前说过的方法
http://calfen.yymm.net/blog/post/1/39 传输到服务器,就可以远程不要密码登陆了。当然,你也可以把这个文件发给任何人,别人通过putty导入这个文件,就也可以登陆这个服务器了。
可命令行界面下如何使用这个认证文件呢?比如open SSH?其实puttygen.exe也提供这个功能的。该软件可以把公私钥export成open ssh和ssh两种格式。于是我们可以得到两个文件,比如test.pub和test。
#cat test
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,EE70390EAB6626B8
42RA8ymTx7rLiCvZvypQy+ptZaan1Zttr8+0TQ58k8Zq80OtZRFQrb0z+cAQDWWz
p6tIhhnLU1yHnUN8MG4GwV/95z9OYzseoqRUjTdUqisz+fk/7TOqjV6xVMz9Rpsn
ltpJook19FMOkIqCM5Xy5TLvdSaeJbMCuHxzNqNuTn3YyRPdjzwUFFXy0TccSUFQ
EmSaS4PaFNsnjvmc66rKIUR/RQG0G79sQcI15+uOq4+av10gmgvotqhfUVhkHzOf
eeI0FfG5//842VcMLO0WOYMGcOsEy8/iZflQhcZ1bn+NJxSRyXATtuB3QX4EFl5y
FxlR0QAfHV4BwJNBDGePC8YiDVMkwhUZxq/WoVVRHBHKtbXQu6lqq7o/TiLQhMJC
U7BlaxA86+SYHu2W+v7ycIyhVjp6zuE2B56ryZJald1eVOu/lzpyFQZeUpkfQH6c
xv6/jZdUhy67t5lc0EsJtvx9gwk9IuDhqh6BMeJ7jomWkRiufsaqp0u10Q3voTg6
bFeuf+DoeGTWwMVPEPfF1TqiU2pnHv4HqywXkgDjfdD2IaY4SRR04jm6Cjkd8tcK
hnDBVqX5dGGNZe6bc8rk0Wr2hTTxixljJei4o/Eg5emRIMgOQ7YK+p2aYIyOBF9k
LDZ9AaoRbIv+J2/nfvYGj3wDG4Tnzjq6hxY3BB7mbnajV1Z4ZyHLgJXEStXl3tu+
WPNtQ77CV3MUWNMmrFtw5J2vqFQ16XWRNnuGZmKbruGFkPb1fjZHpW53c/7tE+S3
cj6pq+kJcg9UzEeHTuwf96LUtuJ8fCgtnI/EBX49gnQ=
-----END RSA PRIVATE KEY-----
#cat test.pub
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20050907"
AAAAB3NzaC1yc2EAAAABJQAAAIBUbFwiZjDxBWMe5KXcrCi5fX0hBqhsspoafEPR
1vJHkRwtbR7fWWrzYEfgsQBW9chzX7GLsKW7Iv7gd8T1f89UWNnTIRnISEIPjq5k
+O2y4XQdnln7naweuua3QmQ1zemkU+zRyPkgR8v6Xf1oOgJrqe9dLURHvyv6U+5h
9uhG7Q==
---- END SSH2 PUBLIC KEY ----
现在可以替换你.ssh(.ssh2)下的公私钥了,然后执行ssh命令。就可以登陆啦。
别放在root用户下,因为既然你用的是别人的私钥,相当于私钥除了你还有人知道,自身的安全性也不高哦。
文章真實引用網址:http://blog.luluchina.com/blog/trackback.php?id=41