标签: ssh-keygen

使用 ssh-keygen 更改 ssh 密码会更改 ssh 密钥吗?

我错误地设置了 ssh 密钥的密码。

但是每次使用密钥时都要输入密码很烦人。

我想删除我的密钥的密码:

$ ssh-keygen -p -f <my/key/file>
Run Code Online (Sandbox Code Playgroud)

但是,我担心密钥会被更改。

由于我以多种方式使用密钥,因此这项工作似乎太危险而无法测试。

手册页说,该命令将不会改变我觉得关键,但它是不确定的:

-p 请求更改私钥文件的密码而不是创建新的私钥。程序将提示输入包含私钥的文件、旧密码和两次新密码。

ssh ssh-keys ssh-keygen

5
推荐指数
1
解决办法
5013
查看次数

如何在 Java 中使用 OPENSSH PRIVATE KEY?

我使用以下命令生成 DSA 密钥:

ssh-keygen -t dsa
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用 bouncycastle API 来签署数据,如下所示:

    KeyFactory keyFactory = KeyFactory.getInstance("DSA");
    String privateKeyContent = // the content of the generated file

    //init privateKey
    byte[] pemContent = null;
    PEMParser pemParser = new PEMParser(new StringReader(privateKeyContent));
    Object pemObject = pemParser.readObject(); // throws
Run Code Online (Sandbox Code Playgroud)

并得到这个异常

java.io.IOException:无法识别的对象:OPENSSH 私钥

所以我一直在尝试使用此示例将密钥文件转换为 PEM ,并执行:

ssh-keygen -e -f key -m PEM > key.pem
Run Code Online (Sandbox Code Playgroud)

但我收到错误:

do_convert_to_pem: unsupported key type DSA
Run Code Online (Sandbox Code Playgroud)

关于如何解决这个问题有什么想法吗?

java pem dsa ssh-keygen

5
推荐指数
1
解决办法
5878
查看次数

验证.ssh / known_hosts文件的内容

我可以使用一些CLI工具来验证known_hosts的内容吗?也许尝试对其中的所有主机执行ping操作,看看是否可以连接到每个主机?

可能使用ssh-keygenssh-keyscan

ssh unknown-host ssh-keygen ssh-config

5
推荐指数
1
解决办法
341
查看次数

ssh eval“ $(ssh-agent -s)返回非法的变量名

为什么eval语句返回

Illegal variable name

$ eval "$(ssh-agent -s)"
Illegal variable name.
Run Code Online (Sandbox Code Playgroud)

ssh eval ssh-keygen

4
推荐指数
1
解决办法
2484
查看次数

指纹已被采集 - GIT

我正在尝试生成一对新的 SSH 密钥,但生成 ( ssh-keygen -t rsa -C "my@email.com" -b 4096) 后,指示文件夹中的现有密钥不会更新,尽管状态为“您的标识已保存在 ir_rsa2 中并且您的公钥已保存在 ir_rsa2.pub 中”以及控制台中新生成的密钥指纹,因此当将密钥添加到 git 存储库时,我收到错误'指纹已被占用'。可能是什么问题呢?

先感谢您。

ssh ssh-keygen

4
推荐指数
1
解决办法
9114
查看次数

将 ed25519 私钥 ssh 转换为 RSA 私钥

我正在寻找使用 将 ed25519 私钥转换为 rsa 私钥ssh-keygen

我发现这个有用的指南,但我无法弄清楚如何指定输入格式为 ed25519 并且导出格式应为 rsa。

我尝试了多种不同的方法来尝试匹配概要和标志的描述,但每次尝试时,我都会收到“ Too many arguments”错误ssh-keygen

我还想找到从 ed25519 私钥生成公钥的命令,以验证它是否有效。

ssh bash ssh-keygen

4
推荐指数
1
解决办法
5095
查看次数

我应该在ssh公钥中使用个人电子邮件吗?

阅读Github的“ 生成SSH密钥”教程,我在第2步:生成新的SSH密钥中看到了这一点:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Run Code Online (Sandbox Code Playgroud)

令我困扰的是"your_email@example.com"。我知道这只是一条评论,甚至是可选的。但是我想知道,将您的电子邮件地址放在这里是否安全?因为我认为建议您放置机器而不是电子邮件,例如"my-machine@home"

在该教程之后,我已经使用了公共密钥,因此我的电子邮件地址在我的一些公共密钥中。我应该修理吗?还是没有问题?

git email ssh ssh-keys ssh-keygen

3
推荐指数
2
解决办法
1062
查看次数

两个 EC2 实例之间的 ssh

我有两个 EC2 实例,我正在尝试查看是否可以通过 ssh 从一个实例连接到另一个实例。

如果我尝试从我的 Windows 实例到 PuTTY,它们中的每一个都可以工作(通过提供 .ppk 文件)。

现在,两个实例都关联到相同的密钥对,并且如果我检查其中.ssh/authorized_keys是否存在相同的公钥(显然是因为它引用了我在 AWS 中生成的相同密钥对)。

我尝试过,ssh <other host>但它要求我输入不存在的密钥密码。

所以我现在所做的是从实例 A 创建一个密钥对ssh-keygen,然后我尝试

ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host
Run Code Online (Sandbox Code Playgroud)

但它给了我这个错误:

Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud)

如果您有任何想法,欢迎提出。

ssh amazon-ec2 key-pair ssh-keygen

3
推荐指数
1
解决办法
4963
查看次数

Artifactory中的SSH身份验证

我尝试阅读Artifactory用户指南,但有关SSH身份验证的说明并不清楚.有人可以解释如何在Artifactory中进行SSH身份验证吗?

ssh artifactory ssh-keys ssh-keygen

3
推荐指数
1
解决办法
1718
查看次数

使用 ssh-keygen 创建 ssh 密钥时权限被拒绝 Git bash Windows 10 Enterprise

我正在尝试使用 git bash ssh-keygen 创建 ssh 密钥。设置文件名和密码后Saving key "sshKey" failed: Permission denied出现错误。

$ ssh-keygen -t rsa -C "email@bla.com" -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/user1/.ssh/id_rsa): sshKey
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Saving key "sshKey" failed: Permission denied
Run Code Online (Sandbox Code Playgroud)

有什么想法如何解决这个问题吗?

windows git ssh ssh-keygen

3
推荐指数
1
解决办法
1万
查看次数

在powershell中为github自动化ssh-keygen

有没有办法ssh-keygen在PowerShell中自动化该方法?我正在尝试使用以下代码,但它需要用户输入密码.

# Create your GitHub SSH Key
$MyEmailAddress = "some.user@github.com"
if (! (Test-Path  ("~/.ssh/id_rsa_test"))){

    ssh-keygen -t rsa -C "$MyEmailAddress" -f "id_rsa_test"

}
Run Code Online (Sandbox Code Playgroud)

我尝试输入密码开关,但后来却抱怨密码为空.

# either
ssh-keygen -t rsa -C "$MyEmailAddress" -f "id_rsa_test" -N ""

# or 
ssh-keygen -t rsa -C "$MyEmailAddress" -f "id_rsa_test" -N "$null"
Run Code Online (Sandbox Code Playgroud)

我的密钥中不需要密码.

PS:我使用poshgit取决于mysysgit.

git powershell ssh-keygen

2
推荐指数
1
解决办法
2796
查看次数

ssh-keygen:系统找不到指定的路径

  • ssh-agent,ssh-add在运行PowerShell / Posh-Git的Cmder上的所有工作

  • 我添加了C:\Program Files\Git\usr\bin环境变量

  • ssh-keyen 在Git Bash上运作良好,

  • 如何使ssh-keygen也可以与Powershell / Posh-Git一起使用?

编辑:

事实证明,该错误是由于PowerShell中的ssh-keygen正在运行ssh-keygen.bat文件而不是文件ssh-keygen.exe

因此,如下所述设置别名是一种方法。

我使用Set-Alias而不是New-Alias因为New-Alias要求我不时重置我的$ profile,这很奇怪。

要重置,请键入 . $profile

ssh powershell posh-git ssh-keygen

2
推荐指数
1
解决办法
3790
查看次数

使用 OpenSSL 生成私钥和用于 SSH 的公钥 ssh-keygen

我正在尝试使用 openssl 生成安全的私钥和公钥,以便与我的云托管提供商一起使用,但是当我这样做时,无法识别来自 openssl 的公钥输出。

$ openssl genrsa -out private.pem -passout file:password.txt  2048
Run Code Online (Sandbox Code Playgroud)

生成RSA私钥后,2048位长模数,然后

$ openssl rsa -in private.pem -passin file:password.txt   -pubout -out public.pem
Run Code Online (Sandbox Code Playgroud)

它编写了 RSA 公钥。输出是这样的:

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuefPvX5Bih6GYbr1eTNf
Fa++DvhHg4nxcXZAor7gNEM1+XPY2wxG2r2g/Jub6OWHd8GDAf6SBCCld+alC9WS
KnAd2qz34yBzG4pJ5/tLux1yX5k45BPTcTHfZGmFlAxsSNTZVh5Zh9KYUpsklKOW
2Pb5gwlMvweIoqf0lqrNqX8agDWzAn4bRbW8ZeNKUuNuccx4PlFwMg4lEcPypcCL
HPAHGiQTR1xZ/jlohFMIH1cGCBVC4kuaEtUi3Qer9wzuvh376RQPnKD0jJgraiDM
pSrdMeH+0eJfqckM8pJ99F/kfKWcGtk6l1AJX511xsPLDTHxaP/ry8zlaAJ1vH9o
3wIDAQAB
-----END PUBLIC KEY-----
Run Code Online (Sandbox Code Playgroud)

这是标准格式,它适用于其他用途,但所有云和托管服务提供商都需要这样的公钥:

ssh-rsa XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX==
Run Code Online (Sandbox Code Playgroud)

这是他们识别的唯一有效格式。

我知道 ssh-keygen 可以轻松完成所有这些工作,但我使用的是当前最新的 openssl 版本 1.0.2h,其中包含针对 Google 和 Red Hat 员工指出的一些漏洞的安全修复程序。

那么如何使用从 openssl 生成的密钥获取 ssh-keygen 公钥格式呢?

ssh openssl ssh-keygen

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