问题标签 [passphrase]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
2747 浏览

bash - 临时删除 shell 脚本中的 ssh 私钥密码 I

我需要将一些文件从服务器 A 部署到服务器 B。我通过 SSH 连接到服务器 A,然后从那里通过 ssh 连接到服务器 B,使用存储在服务器 A 上的私钥,其公钥位于服务器 B 的授权密钥文件。从 A 到 B 的连接发生在服务器 A 上的 Bash shell 脚本中。

这一切都很好,很好,很简单,直到有安全意识的管理员指出我存储在服务器 A 上的 SSH 私钥没有密码保护,因此任何可能侵入我在服务器 A 上的帐户的人也可以访问服务器B,以及 C、D、E、F 和 G。我猜他说得有道理。

他建议了一个复杂的场景,在这个场景下我会添加一个密码,然后修改我的 shell 脚本以在我要调用的开头添加一行

用密码回答我的旧密码的提示和(两个)提示我的新密码的提示,只需返回即可摆脱密码,然后在最后,在我的 scp 命令调用之后

再次,把密码放回去

我说“Yecch!”。

好吧,我可以通过首先阅读脚本中的密码短语 ONCE 来稍微改进一下

然后根据需要使用 ssh-keygen 的 -N 和 -P 参数提供它。

它几乎可用,但我讨厌 shell 脚本中的交互式提示。我想把它归结为一个交互式提示,但让我感到难过的部分是我必须按两次回车键才能摆脱密码短语的部分

这可以从命令行工作:

但不是来自 shell 脚本。在那里,似乎我必须删除 -N 参数并接受输入两个返回的需要。

这是我能做的最好的。任何人都可以改善这一点吗?或者有没有更好的方法来处理这个?我不敢相信没有。

最好的方法是无需输入密码即可安全地处理此问题,但这可能要求太多。每次脚本调用我都会解决一次。

这是骨架形式的整个脚本的简化版本

0 投票
1 回答
2943 浏览

ubuntu - 强制 ssh 私钥每次都使用密码

我有一些客户端使用基于 ssh 密钥的密码访问服务器。在客户端上,仅在第一次或重新启动客户端系统时才会提示密码。

是否可以强制客户端每次尝试连接到服务器时输入密码?

0 投票
0 回答
371 浏览

svn - 没有密码的本地主机上的 ssh 允许 svn+ssh://

一个 subversion 存储库使用属性 svn:externals 来包含来自另一个存储库的文件。两个存储库都驻留在同一台服务器上。客户端使用 svn+ssh:// 连接到存储库而无需指定 passphase,因为使用了 gnome-keyring。

在服务器上,我们要检查文件,包括用 svn:externals 指定的文件。这意味着在 localhost (=server) 上,存储库是使用 svn+ssh:// (作为 propset 的一部分)指定的。签出服务器上的文件时,需要为每个 propset 指定密码。

问题是:我应该使用 ssh-keysign 解决这个问题,还是可以在 ssh_config 中使用 NoHostAuthenticationForLocalhost?还是我推理错误?

0 投票
2 回答
10448 浏览

php - 如何强制 GPG 接受来自 STDIN 的输入而不是尝试打开文件?

我正在尝试将 GPG 文本的明确签名合并到 PHP 脚本中的字符串中。我可以使 GPG 加密字符串中的文本,如下所示:

这很完美,加密的文本被发送到 $encrypted 变量。这证明 GNUPGHOME 和 GNUPG 设置正确。

但是,当我尝试以与此相同的方式生成明确签名的消息时:

我返回此错误:

带有或不带有 $text 变量周围的单引号都会返回此错误。

如何强制 GPG 或 shell_exec 将 $text 视为管道而不是查找文件?

我需要以这种方式回显密码(我知道,它“非常不安全”,因为 GPG 无法在命令行上将密码作为变量传递。

0 投票
5 回答
17856 浏览

macos - 在 OS X 上设置无密码 ssh 到 localhost

我正在尝试让 Hadoop 的伪分布式操作示例 (http://hadoop.apache.org/common/docs/stable/single_node_setup.html) 在 OS X Lion 上工作,但在没有 ssh 的情况下无法正常工作一个密码。

说明如下:

设置无密码 ssh

现在检查您是否可以在没有密码的情况下 ssh 到 localhost: $ ssh localhost

我收到连接被拒绝:

如果没有密码就无法 ssh 到 localhost,请执行以下命令:

在这一步之后,我仍然被拒绝连接。有任何想法吗???

0 投票
1 回答
1898 浏览

git - Git ssh 私钥密码

我正在尝试从 Windows 中的命令提示符调用 git fetch,唯一的问题是它要求输入私钥的密码。我有它,但是是否可以像在 git fetch 的参数中一样自动提供?我知道 ssh 代理在您打开终端时只要求输入一次密码,但这对我来说不是一个解决方案,因为我希望该过程在没有用户交互的情况下自动进行,最好的解决方案是如果我可以将其作为参数给出。谢谢你。

编辑:谢谢你的回答。我想要完成的是在 Titanium Developer 中构建一个简单的 git 通知程序。为此,我想支持所有身份验证方法,包括带有密码的 ssh。例如,在 smartgit 客户端中,您可以为每个项目提供私钥和密码(如果有的话),然后您可以使用可用的 git 命令。我想知道是否可以从控制台自动输入密码,因为那是最简单的方法,但我想我将不得不使用 java 或 C。

0 投票
1 回答
920 浏览

eclipse - gitosis 和 EGit 的问题

我在个人服务器上安装了 gitosis 并进行了设置,这样我现在使用的 ubuntu 机器就可以从命令行访问存储库了

git clone gitosis@myservername:/myreponame.git

它要求我输入 rsa 密钥的密码,然后通过并按预期工作。

但是,我正在尝试将 EGit 与 eclipse 一起使用(再次在 Ubuntu 下),但我无法从存储库中提取。我将它设置为提取确切的存储库 gitosis@myservername:/myreponame.git 并继续查找 myservername 和我的个人公钥(它也提供了它的文件路径,所以我知道它是同一个)并要求我的密码。但是,它从不接受我的密码(注意:我很确定它拒绝密码而不是密钥本身,因为它立即拒绝它并且没有说未经授权,以及相同的密钥在 CLI 中有效的事实)。我的印象是它不起作用的原因是因为它试图用密码作为用户 gitosis 来解锁公钥,而不是我在本地机器上的用户名,

我知道我输入的密码是正确的,因为它可以在 CLI 中运行,我什至成功地更改了密码,以确保 300% 的确定。

任何人都可以阐明这个问题吗?

0 投票
3 回答
3270 浏览

php - 如何通过使用 PHP 在命令中传递“gpg 密码”来解密加密文件?

我想知道如何通过在命令行中传递密码/密钥来解密文件。

我尝试使用它,但它仍然提示我输入密码。

echo shell_exec("echo $passphrase | gpg --passphrase-fd 0 -o $unencrypted_file -d $encrypted_file");

我的目标是用 PHP 创建一个可以自动解密文件的程序。

0 投票
2 回答
2807 浏览

linux - gpg 解密在 LINUX 中给出错误“无法在批处理模式下查询密码”

嗨,我正在使用 gpg 在 linux 中解密文件,我正在使用

解密文件,但我收到以下错误。

0 投票
5 回答
979 浏览

git - OSX 上的 MonoDevelop 2.8 Beta 2。与 Git 斗争

有没有人使用 GitHub 和 MD 进行 MonoTouch?

我按照此说明设置了所有内容:http: //help.github.com/mac-set-up-git/ 创建了一个 repo,将一些内容提交到其中...

然后在 MD 中,我试图检查一些东西,然后它要求我输入密码,我正在打字,它说它不匹配。我试图重新开始并使用不同的密码设置 Git(并且每次都更新公钥)并且这样做了三四次,每次都是一样的 - 我无法签入或签出任何东西......

这里有什么问题?

UPD:即使我尝试在 Mac 上使用 github 的 GUI 实用程序,创建一个本地 repo,将其推送到 GitHub,然后如果我在 MonoDevelop 中打开解决方案,它也会失败并抛出一堆不同的异常,然后突然关闭。

它说:更新命令状态时出错:MonoDevelop.VersionControl.Commands.UpdateSolution。
System.IO.IOException:未知的存储库格式“”;预期为“0”。

我不能让它与源代码控制一起工作。它不允许我在内部或使用任何第三方工具进行操作,我知道它仍处于测试阶段,但这真的不可能吗?有人帮助我,请

UPD:现在我终于以某种方式设法“看到”了我的远程 Github 存储库,但仍然无法将内容推送到其中。MD 中的授权失败。尝试使用 .netrc 文件没有帮助。尝试使用 ssh 和 https 连接字符串 - 没有成功......该死的愚蠢的东西,该死的愚蠢的我