小编csi*_*ac2的帖子

ssh-agent 缺少类似 sudo 的不活动/空闲超时功能是否存在技术原因?

ssh-agent -t在 [1] 中有一些关于现有功能的简短讨论,早在 2001 年 debian-devel [2] 上就有一个帖子希望有一个不活动超时功能。在 SE [3] 上有一个类似的讨论,用于选美。

我不得不想知道地球上的其他地方是如何保护 ssh 密钥的——我是否遗漏了一些明显的东西,这对我来说是一个痛点,而且显然没有其他人?具体来说,我正在考虑脚本化的 ssh 交互,例如使用 ansible。看来今天,你的选择是:

  • 将您的密钥在代理中的生命周期设置为令人担忧的长时间,例如。1 小时或任何脚本的最大运行时间(我怀疑很多人允许他们的 sudo 重新验证超时延长那么长时间!)-但是seahorse/gnome-keyring-daemon几乎不支持这么多 [4]
  • 照看您长时间运行的脚本,并每隔 5/10/15 分钟不断重新输入密码:现在您可以轻松地看到每天输入密码 20 次
  • 破解你自己的自制解决方案来模仿这个缺失的功能,也许结合你的 shell 的TMOUTshell var(感谢 freenode #openssh IRC 上的人的建议)
  • 根本没有设置密钥生命周期,即您的代理会永远加载您的密钥或直到您杀死/重新启动

如果您使用简短的 ssh 代理超时、强密码短语和不同的密钥文件来为您进行身份验证的每种角色类型:这将导致非常令人沮丧的一天!

我已经尝试过 gpgkey2ssh 和智能卡,但这并不能真正解决这个特定问题:我仍然需要 ssh-agent 功能,而且我不想每 5 分钟重新验证一次以防止我的私钥被暴露在我的电脑空闲时在内存中。

我做错了吗?

[1]配置SSH代理的默认超时时间

[2] https://lists.debian.org/debian-devel/2001/09/msg00851.html

[3] https://serverfault.com/questions/518312/putty-pageant-forget-keys-after-period-of-inactivity

[4] https://bugs.launchpad.net/ubuntu/+source/gnome-keyring/+bug/129231

security ssh key-authentication ssh-agent

9
推荐指数
1
解决办法
666
查看次数

为什么 dash 的 echo 扩展 \\\\ 与 bash 的 echo 不同?

我有一个小的开源项目,出于各种原因,我试图用相当可移植的 shell 脚本编写。它的自动化集成测试检查路径表达式中的敌对字符是否得到正确处理,等等。

/bin/sh提供的用户bash在测试中看到失败,我已将其简化为以下内容:

echo "A bug\\'s life"
echo "A bug\\\\'s life"
Run Code Online (Sandbox Code Playgroud)

在 bash 上,它会产生以下预期结果:

A bug\'s life
A bug\\'s life
Run Code Online (Sandbox Code Playgroud)

使用我开发的破折号,它可以执行以下操作:

A bug\'s life
A bug\'s life
Run Code Online (Sandbox Code Playgroud)

我想我没有在 dash 中发现错误,我可能会遗漏一些东西。对此有合理的解释吗?

bash dash echo quoting

7
推荐指数
1
解决办法
433
查看次数

标签 统计

bash ×1

dash ×1

echo ×1

key-authentication ×1

quoting ×1

security ×1

ssh ×1

ssh-agent ×1