不久前,我注意到我的 ssh-agent 中有三个我无法删除的键。 ssh-add -l显示三个键;我跑了ssh-add -D,然后被告知“所有身份都已删除。”;但随后立即ssh-add -l显示了相同的三个键。
如果我注销然后重新登录,密钥仍然存在。如果我重新启动机器,密钥仍然存在。如果我删除 中的密钥环目录/tmp,我将无法再连接ssh-agent,但是在注销并重新登录后,密钥又回来了。他们是无懈可击的。
据我所知,钥匙是我的,不是别人的。我可以通过他们访问我通常的本地服务。但是,当我再次添加其中一个密钥时ssh-add,给出私钥文件的路径,新密钥在以下输出中具有不同的外观ssh-add -l:
2048 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f /home/jruser/.ssh/jruser-keyname-20110418 (RSA)
Run Code Online (Sandbox Code Playgroud)
对比原版:
2048 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f jruser 04/18/2011 keyname (RSA)
Run Code Online (Sandbox Code Playgroud)
有没有办法合理地解释这种行为?我想真的有两个问题:
即使在重新启动后,如何设法保留密钥?我的基本知识ssh表明密钥总是必须手动添加。
为什么ssh-agent -D要在删除身份时对我撒谎?
我正在编写一些将应用 patch(1) 程序的代码,我想完全阻止它创建备份文件。也就是说,foo.orig当它无法更新特定文件(在这种情况下它会创建foo.rej文件),或者当它成功更新文件但涉及一些模糊性时,我不希望它创建文件,这两种情况它通常都会这样做. 这似乎说起来容易做起来难。
基本情况:我对 Debian 源目录运行“补丁”,但无法更新debian/changelog文件。patch 创建一个文件debian/changelog.orig文件(这是我试图避免的)。
文档提到了一个--no-backup-if-mismatch开关,这似乎正是我所需要的。但是当我添加它时,备份文件仍然被创建,只是现在它被称为debian/changelog.~1~.
该文档还说,当存在--posix交换机时,将不会进行备份。当我使用此开关代替 时--no-backup-if-mismatch,仍会创建备份文件,但使用原始.orig后缀。
我发现的唯一解决方法是使用-B/--prefix开关将备份直接写入我选择的目录。但这似乎是一个丑陋的黑客。没有更干净的方法来防止备份吗?
我在 Gimp 中打开了一个 PNG 图像,我想在图像底部添加更多内容,创建一个更高的图像。
我的 Gimp 技能非常基础,我发现的唯一方法似乎在正确的轨道上最终不起作用。我转到“图层”->“图层边界大小”菜单项,单击链图标以便我可以独立改变尺寸,将高度增加(例如)100 像素,然后单击“调整大小”按钮。回到主窗口,图像边界似乎增加了,但是当我尝试将一些新文本添加到新扩展的区域,或者将原始图像中的区域复制并粘贴到新区域时,它是不可见的。
如何在图像底部添加新空间,以便向其中添加新内容?
我在工作时在 Ubuntu 上使用 Emacs。一个持续的烦恼是函数文档不包含指向函数源代码的链接。例如,在我的 Ubuntu 系统上,文档find-file开始于:
find-file 是一个交互式编译的 Lisp 函数。
在我的家用机器上,同样的功能记录如下:
find-file 是“文件”中的交互式编译 Lisp 函数。
单击“文件”将带我到函数的定义。
如何在 Ubuntu 上获得标准的、有用的行为?
在工作中,我喜欢打开两个 Gmail 标签:一个显示我的个人帐户,另一个显示我的工作帐户。
我通过复制 URL 为两个帐户创建了书签。我的个人帐户的 URL 是
https://mail.google.com/mail/u/0/
Run Code Online (Sandbox Code Playgroud)
我的工作帐户 URL 是
https://mail.google.com/mail/u/1/
Run Code Online (Sandbox Code Playgroud)
这在一段时间内运行良好,但最终我退出了两个帐户,并且显然以与最初相反的顺序重新登录,因为我的个人邮件书签开始将我带到我的工作帐户,反之亦然。这些 URL 中的最后一个组件似乎是某种非持久登录顺序索引。
有没有办法以一种无论顺序如何都可以在注销和登录时持续存在的方式为我的帐户添加书签?