Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – ssh-agent行为的差异大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

看起来我在配置的两个帐户的ssh-agent行为之间有点差异. 我写了一个简单的监控脚本来检查我们运行的一些虚拟机的可用性.我使用主访问帐户进行了所有测试和调试.在此过程中,我生成了一个SSH密钥对,启动了ssh-agent,并将该标识添加到代理,以允许脚本ssh而无需密码. 现在,我想将此脚本作为服务帐户用户运行.我创建了服务帐户,并生成密钥暂时将登录sHell设置为/ bin / bash.我
看起来我在配置的两个帐户的ssh-agent行为之间有点差异.

我写了一个简单的监控脚本来检查我们运行的一些虚拟机的可用性.我使用主访问帐户进行了所有测试和调试.在此过程中,我生成一个SSH密钥对,启动了ssh-agent,并将该标识添加到代理,以允许脚本ssh而无需密码.

现在,我想将此脚本作为服务帐户用户运行.我创建了服务帐户,并生成密钥暂时将登录shell设置为/ bin / bash.我生成了密钥,删除了密码,并将身份添加到代理.

差异似乎与sHell如何连接到代理程序有关.在我的用户帐户中,自从我开始测试(大约两周)以来,我没有必要重新启动代理.但是,当我尝试在服务帐户下运行脚本时,我似乎每次都必须重新启动代理,添加标识,然后执行工作.

理想情况下,我希望代理无限期地运行,并且只要脚本运行,服务帐户就会自动重新连接到它,因此我不需要管理脚本中的进程.我查看了每个帐户的配置,但找不到任何差异.任何见解将不胜感激.

**编辑:我忘了指出代理程序确实连续运行,但服务帐户的sHell进程似乎没有使用它,而新的代理程序必须启动:

@H_696_26@ovmmon 14043 0.0 0.0 53916 204 ? Ss May17 0:00 ssh-agent ovmmon 14952 0.0 0.0 53916 204 ? Ss May17 0:00 ssh-agent

解决方法

这里发生了两件事之一:

>当您注销时,ssh-agent实际上正在关闭
> ssh-agent仍在运行,但您丢失了有关其PID和管道的信息

您可以通过执行ps -ef检查是哪种情况并检查ssh-agent.

如果ssh-agent已经死了,你需要一种方法让它保持活力.这有三种方法

>您可以在引导服务器时从启动脚本启动ssh-agent,并将输出回显到文件(具有适当的访问权限以防止其被滥用).如果您使密钥无密码,您也可以从脚本中添加密钥. (显然,当您连接的帐户对远程服务器的权限非常有限时,最后一部分是可取的).然后让您的脚本从启动时创建的文件中读取SSH代理信息.
>登录服务帐户时使用屏幕;然后在启动代理后断开与屏幕会话的连接.
>启动代理时使用Nohup.

如果ssh-agent没有死,但是你丢失了环境信息,请确保在启动它时让它将其环境变量写入特定文件.然后,在登录时,让您的sHell源文件.

大佬总结

以上是大佬教程为你收集整理的linux – ssh-agent行为的差异全部内容,希望文章能够帮你解决linux – ssh-agent行为的差异所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。