zoukankan      html  css  js  c++  java
  • SSH: 本地.ssh目录下的公钥文件最好删掉

    这次ssh amazon ec2的instance,在家里电脑登录OK,到了公司电脑登录失败(只支持公钥机制)。私钥已经拷贝到公司的ubuntu上了,奇怪。

    后来发现是.ssh目录下存在一些公钥文件导致了这个问题。ssh的时候使用-vvv可以看到很多调试信息,在这里看到在ssh认证的时候,发送过去的公钥不是amazon ec2的公钥,而是我本地.ssh目录下另外一个公钥。

    所以删除了.ssh目录下所有的公钥文件之后,就OK了。

    我猜想是这样:

    1. 如果在.ssh/config下配置了针对该Host的IdentityFile,那么公钥不会搞错,ssh会寻找私钥文件名.pub这样的文件。

    2. 貌似私钥文件中也是包含了公钥的,因为只给定一个私钥,ssh也可以分析并发送公钥给server

    3. 貌似ssh的行为是,如果.ssh目录下有username@hostname签名的公钥,就会去使用这个/些公钥,而不是使用私钥中的。

    Anyway,把公钥文件都删掉就没烦恼了,反正一般生成了公钥私钥对之后,公钥都是上传到服务器侧的,不再需要了。

    [UPDATE]

    发现这么做的一个副作用:Ubuntu的ssh-agent会扫描.ssh下的公钥然后自动ssh-add,这样以后登录只需要输入一次私钥的密码之后就不用输入了。

    但是现在.ssh下的公钥被我删掉了,所以现在每次都要输入密码。

    所以可以将公钥移到另外一个地方,然后每次有新的key的话,用ssh-add手动添加一下。

  • 相关阅读:
    template()方法
    如何引入模板引擎
    为什么使用模板引擎
    计算两个日期之间的天数
    oracle分析函数Rank, Dense_rank, row_number
    Oracle备份与恢复详解
    oracle的操作-表空间
    easyui API
    myeclipse快捷键代码
    Java 解决采集UTF-8网页空格变成问号乱码
  • 原文地址:https://www.cnblogs.com/super119/p/3267777.html
Copyright © 2011-2022 走看看