ssh问题小结

1.相同发布版本的ssh之间建立通道
一般排除权限上&key换行的问题,很少会发生什么问题,但也有一些非常诡异的问题,针对这些问题
我们可以使用以下两种方式来做详细的诊断。
ssh客户端程序的debug模式:
cmd:ssh -v [1|2|3]
一般情况下ssh的客户端都可以使用-v的方式来开启debug模式,后面的num是debug的level,数字越大,debug的信息越详细。
通过客户的debug可以看到整个ssh验证的过程,用的那个私钥文件,权限是否正确等等,基本上客户端的ssh问题应该都能够诊断出来。
sshd服务器端程序的debug模式
cmd:sshd -d [1|2|3] -p port
在一些用客户端debug模式仍然没有发现问题的情况下,可以试试起一个debug模式的sshd在其他port上,然后在客户端用ssh -vvv -p port来连,服务器端的debug模式的sshd会把相关的验证&连接的信息都在屏幕上显示出来,加上ssh客户端的debug,基本上所有的ssh问题就都可以查个究竟了。
2.Openssh&商业版的ssh2之间建立通道
openssh&商业版的ssh2的通道问题,之前都按照openssh或者是商业版的ssh的方式来构建两者之间的ssh通道,发现检查权限和各项配置都没问题,但通道死活不通仍需要密码。通过debug发现无法打开私钥文件,检查私钥文件及权限完全正常。问题在哪里?查找相关文档发现openssh的key和商业版本的ssh2生成的key格式是不一样的,ssh-keygen命令提供两种不同的key文件的转换,转换方法如下:
$ ssh-keygen
You must specify a key type (-t).
Usage: ssh-keygen [options]
  -e          Convert OpenSSH to IETF SECSH key file.
  -i          Convert IETF SECSH to OpenSSH key file.
例1:需要转换Openssh的私钥id_dsa为商业版ssh2的私钥:ssh-keygen -e -f id_dsa > id_dsa_ssh2
例2:需要转换商业版ssh2的公钥id_dsa_ssh2.pub为Openssh的公钥:ssh-keygen -i -f id_dsa_ssh2.pub >id_dsa.pub
例3:需要把openssh的公钥转换为商业版ssh2的公钥:ssh-keygen -i -f id_dsa_ssh2.pub >id_dsa.pub
例4:需要把商业版ssh2的私钥转换为商业版Openssh的私约:ssh-keygen -i -f id_dsa > id_dsa2
然后再通过openssh或者商业版ssh2的build通道方式,建立ssh通道即可。


本文来自ChinaUnix博客,如果查看原文请点: http://blog.chinaunix.net/u/12470/showart_425933.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值