标签: ssh-keygen

选择 OSX ssh-keygen 使用的加密算法

我有几个用户在 OSX 上使用SmartCVS与我们的 CVS 存储库进行交互。我们使用 cvs :ext:(SSH2) 方法访问存储库,该存储库存储在远程 linux 系统上。我们使用 ssh 密钥身份验证,并要求用户使用密码来加密他们的私钥。

OSX 附带的 ssh-keygen 版本AES-128-CBC用于加密私钥,显然 SmartCVS 使用的任何 ssh 库都不支持解密此密码,因为它会引发错误。如果我使用 PuTTYgen 在 Windows 上生成一个密钥并将该密钥移动到 OSX,则一切正常。PuTTYgen(以及 Linux 上的 ssh-keygen 的大多数版本)使用DES-EDE3-CBC密码,SmartCVS 能够毫无问题地解密。

所以,我的问题是:有没有办法告诉 ssh-keygen 在加密私钥时使用哪种密码?ssh-keygen(1)OSX 上的手册页没有说明能够设置密码类型,但我希望可能有其他方法可以在一代之后转换为另一种密码类型。

openssl ssh-keygen ssh-keys

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

验证 SSH 命令是否未嵌入到证书中?

man 8 sshd关于授权密钥文件格式和command="command"选项:

请注意,此命令可能会被 sshd_config(5) ForceCommand 指令或嵌入在证书中的命令取代。

使用ssh-keygen -O force-command="command"允许将命令嵌入到证书中。但是如何验证命令没有嵌入到证书中呢?沿着防止执行意外命令的相同思路,是否ForceCommand总是覆盖嵌入在证书中的命令?

恶意用户能否绕过 ssh authorized_keys 强制命令?问了一个关于安全性的更一般的问题,但目前那里的答案没有提到嵌入在证书中的命令。

security ssh openssl ssh-keygen

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

Ubuntu 20.04 ssh-keygen 未知选项 -G 无法生成 Diffie-Hellman 参数

我注意到 ubuntu 20.04 的 ssh-keygen 缺少用于生成 Diffie-Hellman 参数的选项。这通常是 SSH 强化的一部分。有谁知道它为什么消失了?

ubuntu ssh ssh-keygen ubuntu-20.04

7
推荐指数
2
解决办法
1973
查看次数

ssh 登录成功,但 scp 密码给了我“权限被拒绝”

我正在尝试在组织的远程服务器上安装一些博客软件。我试图设置一个 SSH 密钥,但遇到了问题,并决定让博客启动和运行比处理 SSH 密钥问题更重要,所以我ssh-keygen -R remoteserver.com.

现在我可以使用ssh -v remoteuser@remoteserver.com正确的密码成功登录。登录后,我可以四处移动并读取我应该能够读取的任何文件和目录。

但是当我尝试-rw-r--r--使用 VIM编辑现有文件时,它显示为只读,如果我尝试编辑我获得的权限chmod: file.ext: Operation not permitted,如果我尝试scp从我的本地机器创建一个新文件,我会被提示输入远程用户的密码,然后得到scp: /home/path/to/file.ext: Permission denied

由于在尝试设置 ssh 密钥之前我没有遇到任何这些问题,我怀疑这些异常是其副作用,但我不知道如何解决这个问题。那么像我这样愚蠢的服务器新手需要做什么才能恢复远程用户的编辑能力呢?

附录 1:

我的本地计算机和远程服务器之间的用户 ID 不同。

  • 对于 ssh 我ssh -v remoteuser@remoteserver.com
    • 如果whoami我得到remoteuser
  • 对于scp file.ext remoteuser@remoteserver.com:/path/to/file.ext来自本地目录的scp I ,file.ext同时以本地用户身份登录。
    • 如果whoami我得到localuser

ls -l两个不同的文件,我已经试过SCP:

-rw-r--r--@   1 localuser  localgroup    20 Feb 11 21:03 phpinfo.php
-rw-r--r--    1 root       localgroup …
Run Code Online (Sandbox Code Playgroud)

permissions ssh scp ssh-keygen

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

如何验证我拥有的私钥与 AWS 密钥对匹配?

我的 AWS 实例说它被配置为使用我账户上唯一的密钥对,它的指纹格式为:

3c:64:a7:85:53:3f:81:1c:24:5a:d2:6a:5b:76:47:da:f3:14:63:88

我的电脑上有一个 key.pem 文件。如何验证此 pem 文件是否与 AWS 提供的上述密钥对指纹匹配?

我尝试了以下操作:ssh-keygen -lf key.pem

以这种格式输出一些东西:2048 SHA256:TpL6i8y1uCd26IUVVc5UHFluP7GLKD/T3O1+K4Pc0qg no comment (RSA)

编码方案不同,我无法判断它们是否等效。

我正在尝试调试为什么我无法使用此密钥 ssh 进入我的实例,这是我尝试的第一步。

ssh-keygen amazon-web-services

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

使用 ssh-keygen 将 Rsync 同步到具有有限命令和特定目录的 ssh 用户

我有两台机器,本地和远程。

我想自动备份我的文件和文件夹到远程机器,使用rsync传输文件和文件夹,使用ssh-keygen自动登录远程机器。

我可以以 ssh root 身份执行此操作,但这会带来一些安全风险:如果本地文件已被泄露,有人可以以 root 身份直接登录到远程计算机。

我尝试了 rssh,但无法使用 ssh-keygen 自动登录。

我正在寻找的是一种创建 ssh 用户的方法,该用户对 shell 命令的访问权限有限,并且只能访问安全的特定目录,以便自动登录而不会对远程机器造成伤害。

ssh rsync ssh-keygen

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

具有相同前缀的多个 ed25519 键

我创建了一堆 ed25519 密钥来ssh-keygen连接到我可以访问的不同机器。然而,我注意到它们都以相同的、相当长的前缀开头:

AAAAC3NzaC1lZDI1NTE5A...

这是为什么?这是安全问题吗?一个错误?或者只是我不知道的所有 ed25519 键的某些属性?

ssh-keygen ssh-keys

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

从 EC2 中删除了authorized_keys,但仍然有 PPK 文件并且我已连接

我刚刚删除了完整的 ec2-user/.ssh/ 文件夹,我想恢复密钥,这样我就可以访问我的 EC2 服务器,而无需停止和启动它。

我的计算机上有一个 PPK 文件,其中包含“Private-Lines”之类的内容,所以我猜它同时具有私钥和公钥......我已经尝试了很多方法但没有成功,所以,一步一步是什么使用此 PPK 密钥将我的密钥恢复到服务器的说明?

我仍然通过 SSH 连接:)

ssh-keygen amazon-ec2 ssh-keys

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

更改私钥上的 ssh 密码没有任何效果

我有一个不受密码保护的ssh 密钥,我用它来连接服务器。现在我想向密钥添加一个密码,所以我已经完成了:

ssh-keygen -p
Run Code Online (Sandbox Code Playgroud)

并添加了一个新的密码:

Enter file in which the key is (/home/user/.ssh/id_rsa): 
Enter old passphrase: 
Key has comment '/home/user/.ssh/id_rsa'
Enter new passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved with the new passphrase.
Run Code Online (Sandbox Code Playgroud)

然后,我尝试再次连接到服务器:

ssh user@server.com -v
Run Code Online (Sandbox Code Playgroud)

但我仍然在未输入密码的情况下登录:

debug1:可以继续的身份验证:publickey

debug1:下一个身份验证方法:publickey

debug1:提供RSA公钥:/home/user/.ssh/id_rsa

debug1:服务器接受密钥:pkalg ssh-rsa blen 279

debug1:身份验证成功(公钥)。

已通过 server.com ([xxx.xx.xxx.xx]:22) 验证。

为什么我没有被要求输入密码?

编辑:

Seahorse为我存储了密钥,所以这就是问题所在。

ssh ssh-keygen

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

自动重新连接到断开的 ssh 会话

我是这个社区的新手,我正在开发我的物联网项目,其中我的微控制器作为服务器工作,获取数据并执行请求。我的客户端是终端设备(手机、平板电脑),我通过 SSH 连接。

如果我的互联网突然断开,问题就会出现 - ssh 会话中断,我必须再次使用以下命令重新配置它:

ssh -o TCPKeepAlive=yes -R 80:192.145.47.33:80 example@ssh.localhost.run
Run Code Online (Sandbox Code Playgroud)

以类似的方式,如果服务器(微控制器)的电源断开,那么我会遇到类似的情况。我希望该会话能够自动配置而无需手动干预。

ssh ssh-tunnel ssh-keygen ssh-keys ssh-agent

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

从 Drobo 到 Drobo 的 rsync

我想将备份 rsync 作业从一个 Drobo 运行到另一个。我设法安装了 rsync 和 ssh 工具,这样我就可以从桌面 ssh 到 backup@drobo1.local,然后从 drobo1.local ssh 到 backup@drobo2.local

我需要设置的是 Drobo2 上的备份用户,它具有来自 Drobo1 的无密码登录。

我该如何设置?

ssh drobo rsync ssh-keygen

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

在 RHEL 6.1 上,以 root 身份使用公钥的 SSH 仍会提示输入密码

我已经使用 cygwin ssh-keygen 生成了 rsa 密钥并将它们复制到服务器

ssh-copy-id -i id_rsa.pub root@my.ip.address
Run Code Online (Sandbox Code Playgroud)

我的 /etc/ssh/sshd_config 文件中有以下设置

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys
PermitRootLogin yes
Run Code Online (Sandbox Code Playgroud)

当我ssh root@my.ip.address仍然提示输入密码时。

下面的输出/usr/sbin/sshd -d表明在 .ssh/authorized_keys 文件中找到了匹配的密钥,但它仍然需要来自客户端的密码。

我已经阅读了一堆关于文件和目录权限的网络帖子,但没有任何效果。是否可以在 RHEL 6.1 中使用密钥进行 ssh 或这是否被禁止?

ssh 和 sshd 的调试输出如下。

$ ssh -v root@my.ip.address
OpenSSH_6.1p1, OpenSSL 1.0.1c 10 May 2012
debug1: Connecting to my.ip.address [my.ip.address] port 22.
debug1: Connection established.
debug1: identity file /home/dschulze/.ssh/id_rsa type 1
debug1: identity file /home/dschulze/.ssh/id_rsa-cert type -1
debug1: identity file /home/dschulze/.ssh/id_dsa type 2
debug1: …
Run Code Online (Sandbox Code Playgroud)

remote-access ssh ssh-keygen ssh-keys rhel6

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

即使我将公钥复制到远程计算机后,SSH 仍会要求输入密码

希望有人能帮助我解决这个噩梦。我做了一个关于 vagrant 配置 4 台 ubuntu 机器、1 个控制器和 3 个服务器的项目。在控制器上创建 SSH 密钥,并将 ssh-copy-id 命令创建到 3 个服务器节点。我可以在 3 台服务器上的authorized_keyes 中看到公钥。

根据我在互联网上找到的内容,etc/ssh/sshd_config dump似乎没问题。

#       $OpenBSD: sshd_config,v 1.101 2017/03/14 07:19:07 djm Exp $

# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them …
Run Code Online (Sandbox Code Playgroud)

linux ssh ssh-keygen ssh-keys

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