公钥与密钥的生成与具体的机器没有关系,生成过程没有使用与具体机器相关的信息

早上来公司,收到这个消息,我的心是崩溃的。

“tim老师,测试服务器的远程登录密钥失效了”,我问他,做了什么改动没,得到的确切回复是“只是上传了一些代码”,再次询问下,坚持只上传了些代码,言之凿凿。
这个问题可大了,
1. 就这个机器而言,没有做任何事,“只是上传了代码”就导致用了两年的密钥不能用了,这个机器是着急用来搭建测试服务器的。这个测试服务器已经搭建了一个多星期了,之前一直说代码没准备好,现在又蹦出这个,真是幺蛾子啊。
2. 所有包括正式的服务器与测试服务器一共11台。要是所有的服务器都在某个时候出这个问题,我就干不下去了。

先连上去看看,显示如下,

‘‘ ssh -p 50000 -i pwawscn.pem [email protected]
‘‘ [email protected]‘s password:

之前配置用密钥登录,用了一年多时间了,不可能会跳出这个密码提示的。首先肯定怀疑是sshd-config被改了。查看,没问题,ssh配置是用key与password都可以登录。有点纳闷,我还开着password登录啊(时间一长,好久没摸了,自己记忆也模糊了),隐约记得最开始的时候是开过密码登录的,查了查之前的一个记满密码的文档,发现有一个用户名与密码,竟然登录上去了,大喜。

试着查找了一下两天之内修改的所有文件,但可能是因为文件太多,或者是因为权限的原因,没有找到有用的信息。

中午的时候提交给aws的技术支持后(我们的服务是在aws上),我再次询问了我的同事,他才告诉我他装了git,可能是因为git重新生成了密钥,将之前的给覆盖了。告诉我将git与代码装到一起了,不影响系统,应该不会有问题,的吧,我晕死了。

肯定就是出在这个公钥密钥上的了。问题是还能恢复成以前那对公/密钥吗?要不然就与其它机器不方便统一管理了,一些脚本也得重新改了。

下午在aws技术支持的帮助下,与其它连接正常的服务作比较后。确实发现了问题。
在home/ubuntu/.ssh下,正常机器上是下面文件:(两个文件)

authorized_keys known_hosts

而我在出问题的机器上是下面的文件:(三个文件)

id_rsa id_rsa.pub know_hosts

看时间,id_rsaid_rsa.pub就是昨天晚上同事为git新生成的了。

aws同学给出的方案倒也是简单,直接从正常机器上将authorized_keys复制过来即可。先新建了一个备份文件夹,将不要的东西(包括git的key)都移进去,只留下两个文件(authorized_keys与known_hosts),即可,都不用重启服务了。用之前的命令就能直接访问了。

ssh -p 50000 -i pwawscn.pem [email protected]xx.xxx

在网上稍微查了一些生成公钥私钥的文章。一般使用ssh-keygen生成id_rsa(私钥)id_rsa.pub(公钥),私钥要自己保存,公钥要更改为系统识别的文件名authorized_keys置于.ssh下。

鉴于这个公钥可以从其它机器copy过来可以看出,公钥与密钥的生成与具体的机器没有关系,生成过程没有使用与具体机器相关的信息
还有,这对密钥是与具体的用户相联的。

另外,得考虑引进一个成熟的运维工具,准备快速地浏览一下ansible这个了。

http://www.cnblogs.com/hurner/p/5509656.html

时间: 2024-10-11 06:06:18

公钥与密钥的生成与具体的机器没有关系,生成过程没有使用与具体机器相关的信息的相关文章

mac上使用生成RSA公钥和密钥

关于RSA加密解密的问题,没事弄了一下,先把主要的流程保存下来,以备交流或者以后用. 首先确保你的电脑上安装了openssl,一般mac系统安装后都会自动安装!怎么安装??.....请百度...... 安装命令如下: sudo apt-get install openssl 在你的任何地方创建一个Folder来保存你的公钥和密钥, 打开终端Terminal,cd命令进入到你创建的Folder中,比如在桌面新建一个”RSA公钥私钥“文件夹,进入这个文件夹,命令如图: 接下来我们开始生成公钥和密钥:

利用openSSL 生成RSA公钥和密钥

安装openssl for Windows. 之后开管理员控制台,打开openSSL 我的是 C:\OpenSSL-Win32\bin\openssl.exe 生成1024位的私钥,不指定的话默认2048位 genrsa -out rsa_private_key.pem 1024 根据这个私钥生成公钥 pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt 之后用文件名搜索rsa_private_key.pem

RSA密钥的生成与配置

1.首先需要在计算机上面安装openssl openssl下载 2.通过openssl工具生成RSA的公钥和私钥(opnssl工具可在互联网中下载到) 1)生成RSA私钥(需要把解压出来的openssl文件夹放在C盘根目录) 打开bin文件夹下面的openssl.exe,敲入 genrsa -out D://deploy/CA/rsa_private_key.pem 1024,并回车 得到生成成功的结果 此时,我们可以在D://deploy/CA/文件夹中看到一个文件名为rsa_private_

有关PHPstorm的git环境的配置和git密钥的生成总结

phpstorm上配置git环境的配置总感觉很简单,没发现看似简单的东西浪费我好多时间.我在网上查了一下关于phpstorm的git环境的配置没有具体的总结 所以我把自己的配过程简单总结了一下 面是我的配置环境的步骤 一: 安装好phpstorm并设置好自己喜欢的界面 具体步骤为phpstorm->file->setting->appearance&Behavior->appearance 设置完之后点击ok背景颜色就变成经典的黑色了 二:在PHPstorm中配置 git环

git基础之创建ssh公钥和密钥

用git管理过程中,不想每次输入username和password.解决的方法例如以下; 1 . 链接换成ssh协议. 2 . 生成公钥. 3. 加入ssh公钥到gitserver. 打开gitbash 1)设置Git的user name和email: $ git config --global user.name "yourname" $ git config --global user.email "youremail" 2)输入命令 ssh-keygen -t

Git安装及密钥的生成

1.下载Git软件:http://msysgit.github.io/ 2.安装git软件(很简单).安装成功后,在[开始]->[程序]->[git],下就会看见Git Bash和Git GUI,打开Git Bash,进入bash界面. 3.注册邮箱 在git bash界面输入如下内容即可完成邮箱的注册: $ git config --global user.name "user.name" (说明:双引号中需要你的用户名,这个可以随便输入,比如“ming.xiao”) $

7,装饰者模式(Decorator Pattern)动态的给一个对象添加一些额外的职责。就增加功能来说,此模式比生成子类更为灵活。继承关系的一个替换方案。

装饰( Decorator )模式又叫做包装模式.通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案. 装饰模式就是把要添加的附加功能分别放在单独的类中,并让这个类包含它要装饰的对象,当需要执行时,客户端就可以有选择地.按顺序地使用装饰功能包装对象. 在装饰模式中的各个角色有: 抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加责任的对象. 具体构件(Concrete Component)角色:定义一个将要接收附加责任的类. 装饰(Decorator)角色

记一次服务器密钥失效经历

早上来公司,收到这个消息,我的心是崩溃的. “tim老师,测试服务器的远程登录密钥失效了”,我问他,做了什么改动没,得到的确切回复是“只是上传了一些代码”,再次询问下,坚持只上传了些代码,言之凿凿.这个问题可大了,1. 就这个机器而言,没有做任何事,“只是上传了代码”就导致用了两年的密钥不能用了,这个机器是着急用来搭建测试服务器的.这个测试服务器已经搭建了一个多星期了,之前一直说代码没准备好,现在又蹦出这个,真是幺蛾子啊.2. 所有包括正式的服务器与测试服务器一共11台.要是所有的服务器都在某个

Java 数字签名原理及产生

数字签名与数字证书 关于数字签名的介绍可以参考以上这篇. 这里稍微说一下不对称加密的方式: 用公钥加密的内容只能用私钥解密,用私钥加密的内容只能用公钥解密. 这样比对称加密更安全 Java 中数字签名的方式 跟普通文本加密的原理是一样的. Java 数字签名和数字证书的作用 毋庸置疑,这些都是为了安全性而考虑的. 比如对于applet 来说,它可以保护用户(客户端) 文件和私人数据不被恶意的程序或病毒感染和破坏,鉴别代码提供者的身份.对于开发者而言,通过使用API方法,能够将安全性功能集成到应用