问题标签 [ssh-keys]

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 投票
5 回答
54181 浏览

git - 如何生成 ssh 密钥(对于 github)

问题:如何使用命令行生成 ssh 私钥和公钥(用于 GitHub/GitLab)。

下面的命令会产生错误

我正在使用 Windows XP。

0 投票
4 回答
3619 浏览

python - 检查是否已设置无密码访问

我将通过 python 脚本测试是否设置了无密码 ssh 登录。如果我运行正常的 ssh 命令,那么它将等待一段时间以接受密码。有没有办法让 ssh 命令在 ssh 要求输入密码时立即返回错误。

有可能实现这一目标吗?

0 投票
1 回答
81610 浏览

github - 如何处理“通道 0 上的 PTY 分配请求失败”

我无法为 GitHub 创建一个 ssh 密钥。我让它工作了很长一段时间,但我不知道发生了什么变化。我已经从我的 GitHub 帐户中删除了以前的 SSH 密钥。按照说明多次生成 SSH 密钥(http://help.github.com/mac-key-setup)并测试“ssh git@github.com”后,我得到以下信息;

PTY 分配请求在通道 0 上失败 错误:嗨...成功通过身份验证...GitHub 不提供 shell 访问...与 github.com 的连接已关闭。

我查看了故障排除指南,发现我的 ssh 目录没有配置文件。创建它后,我不确定在 IdentityFile 行上输入什么或如何输入本地路径。我什至不确定在我的情况下这是否必要?

如果您的 github 认证信息与您的机器帐户信息不同,您需要修改您的 ssh 配置文件。

在 ~/.ssh/config 创建或打开文件添加以下行:

您可能还需要更新 .ssh 文件夹及其内容的权限。SSH 应用程序将忽略过于宽松的秘密文件。

我还运行了 ssh -v git@github.com 其结果可以在这里看到http://gist.github.com/607283与我所知道的没有什么不同。

知道我做错了什么吗?

0 投票
1 回答
9227 浏览

git - Git SSH设置权限被拒绝(公钥)

我正在使用 Ubuntu 8.04 的 VWWare 映像,并在通过 SSH 设置 git 访问时遇到问题

我得到以下输出

我已经生成了密钥ssh-keygen -t rsa

并将它们重命名为identity(private) 和ida_rsa(public),因为最初它们不是由ssh.

我还创建了一个配置文件,如此处所述...

http://help.github.com/troubleshooting-ssh/

没有改变。

我是否遗漏了什么,或者在 VMWare 中使用 SSH 通常有什么问题?

问候

0 投票
3 回答
1472 浏览

python - 有没有办法使用 Python 从私有密钥生成公共 SSH 密钥?

...如果没有,您能否向我提供完整算法的链接或 RFC 编号(从获取 ASCII 编码的私钥文件/字符串到生成 ASCII 编码的公钥文件/字符串)。

为了向您展示更大的图景 - 我开始使用 pylibssh2 库。这个库有一个方法——userauth_publickey_fromfile(它会引发 NotImplementedException,但是当你强制启动 python 绑定时——它可以工作)。问题是这种方法需要私钥(好)和公钥(知道为什么)。当然,我可以将这两个键都作为参数传递给我的函数,但我认为这是不必要的,我不想仅仅为此期待一个变量。所以我想自己从私钥生成公钥。

也许我在 pylibssh2 甚至在 libssh2 本身中遗漏了一些东西(我也可以为此编写绑定)?

谢谢你的帮助!

0 投票
2 回答
29258 浏览

ssh - 我可以在本地使用 RSA 密钥测试身份验证吗?

如果您为 RSA 密钥提供正确的密码,有没有办法在本地检查?

我最近在将一些提交推送到 github 时遇到了麻烦,因为推送提示输入密码,然后身份验证失败。id_rsa我验证了 github在我的目录中具有正确的文件公钥~/.ssh,并且我验证了我可以使用 Github 进行身份验证(如果你ssh git@github.com会告诉你你已经通过身份验证,但他们不提供 shell 访问权限,)所以我知道问题所在是我的,而不是 Github 的。

(我应该指出,此时我只是git format-patch将我的提交作为文件获取,然后吹走我的工作存储库并从 Github 重新克隆,使用 重新应用补丁git am,然后毫无问题地推送,所以无论最初的问题是什么,它是固定的。)

不过,这让我想知道:我怎么知道远程主机的身份验证问题是我为我的私钥提供了错误的密码,还是远程主机没有识别我的密钥?有没有办法在本地使用私钥进行测试身份验证,而无需尝试连接到远程主机?

0 投票
1 回答
956 浏览

git - 当使用 Git 或 SSH 复制/远程登录等时,我们应该重复使用相同的 SSH 密钥还是每次都创建新的?

随着越来越多地使用 Git 或 SSH 复制或登录,我们可以只使用 1 对公钥和私钥,或者我们可能可以在不同的机器上创建不同的对,例如 1 个用于笔记本电脑,1 个用于台式机,1 个用于虚拟机。

我们应该使用一对还是应该使用多对?

如果我们只使用 1 对,那么我们需要将 2 个文件(公共和私有)复制到其他机器上,并且我们需要确保我们不通过 FTP 来执行此操作,否则这些信息可能会泄露给公众?

即使我们使用 SFTP,我们也需要在我们想要传输的机器上设置服务器......或者有更好的方法吗?

一般来说,大多数程序和系统是否允许用户拥有多个 SSH 密钥?例如,当我们使用 GitHub 帐户或 Heroku 时,系统是否有约定允许用户使用多个 SSH 密钥来识别同一个人?

我认为如果我们使用多个密钥,可能会有一个小问题,如果我们在 Ubuntu 10.04 上创建这样的密钥,然后稍后安装 Ubuntu 10.10 并创建新密钥,那么很快,我们可能会有不知道在哪里的密钥它们来自,例如来自 Ubuntu 8.04 的一对,我们不知道。

0 投票
1 回答
3726 浏览

authentication - 在两个不同的帐户上使用相同的公共 ssh 密钥

情况是这样的:我家有一台机器(我们称之为house_machine),我的办公室有另一台机器(称之为office_machine)。我使用 ssh 和 dsa 密钥身份验证并且没有密码身份验证从 office_machine 访问 home_machine。我已经在 home_machine 上设置了一个 ssh 服务器,并将在 office_machine 上生成的公钥添加到 home_machine 上的 authorized_keys 文件中。这很好用——我可以从office_machine ssh 到home_machine,只需使用密钥而无需密码。

现在的问题是:当我访问其他办公室时,我希望能够通过使用属于 office_machine 的公钥访问 home_machine。即,我想将公钥 (id_dsa.pub) 放在 USB 驱动器上,然后将其复制到另一个办公室的 .ssh 目录中。从我在这个网站上读到的内容来看,其他人似乎已经能够做这种事情,但是它不起作用。当我尝试简单地将 id_dsa.pub 放在新机器上并执行ssh -v user@home_machine调试消息时,以:

我的临时解决方案是在 home_machine 上的 sshd_config 中设置“PasswordAuthentication yes”,然后使用密码进入 home_machine。但是,这使使用密钥授权的意义无效。

提前致谢!

0 投票
0 回答
898 浏览

svn - 在 JDeveloper 11.1.1.3 中使用 svn+ssh 和私钥

我是政府机构的顾问。我们在整个开发过程中都有很高的安全要求。除此之外,我们需要通过 svn+ssh 使用私钥连接到我们的 subversion 存储库。我们还引入了一些需要我们在 JDeveloper (11.1.1.3) 中开发的 Oracle 技术。我们的作品运行 Vista。

JDeveloper 支持 svn,默认情况下通过 SVNKit,但也通过 JavaHL。SVNKit 支持带私钥的 svn+ssh。您可以设置系统属性svnkit.ssh2.key=path/to/private/key/file来识别密钥。我试过在我的 jdev.conf 中设置它,我可以看到它已经在 Help/About/Properties 下设置,但我仍然得到svn: authentication failed。请检查您的用户名和密码。

我还尝试让 JDeveloper 使用 JavaHL。假设你只是安装了一个 svn 的二进制发行版,将 JavaHL DLL 放在 svn 安装的bin目录中,并确保它在系统路径上。我已经使用来自 CollabNet 和 Slik 的最新 dists 以及我发现的旧 svn-1.3.2 进行了尝试(JDev 文档参考此版本)。假设,这应该允许您在 Tools/Preferences/Versioning/Subversion 下选择您的 svn 实现,但只显示 SVNKit。

我的问题:

  1. 有没有人使用 svn+ssh 和私钥在 JDeveloper 中使用 SVNKit?
  2. 有没有人让 JDeveloper 使用 JavaHL 而不是 SVNKit?
  3. 有没有人使用 svn+ssh 和私钥在 JDeveloper 中使用 JavaHL?

显然,如果您对上述任何一项回答“是”,我对如何处理感兴趣?;-)

亲切的问候,

拉斯·约翰逊

0 投票
2 回答
7630 浏览

python - 使用 ssh 密钥加密和解密密码

我的 python 脚本(Python 2.6,在 Debian Linux 上)要求用户输入密码,然后将其保存在用户主目录中。

因为我不想将密码保存为纯文本,所以我想以某种方式对其进行加密。所以我想也许我可以使用用户的(私有)ssh-key 来加密和解密保存在文件中的密码,这样只有有权访问私有 ssh 密钥的人才能解密保存的密码。

为此使用私有 ssh 密钥是个好主意吗?如何使用密钥加密python中的字符串?

(顺便说一句,我不想​​使用钥匙圈之类的东西)

编辑

好的,我明白使用用户 ssh 密钥来处理类似的事情是个坏主意。相反,我现在只使用 base64 编码,如下所述: 如何使用 Python 编码和解码字符串以在 URL 中使用? 当然,当有人阅读我的 python 脚本时,它不会保存。但这对我来说已经足够了,不必将密码保存为纯文本。