标签: ssh-keys

使用 DSA 2048 位密钥的 SSH

我需要通过 ssh 密钥建立安全连接,先决条件是:

  • DSA 类型
  • 位数:2048
  • 密码:是

在我的 Linux 上,我无法创建这种密钥,该男子说:

DSA 密钥必须正好是 FIPS 186-2 指定的 1024 位

但是我发现在 Putty 中,我们可以创建 DSA 2048 位密钥。因此,我尝试将 Putty 生成的一对密钥放在用户的 .ssh 目录中。那行不通...

私钥看起来像这样:

PuTTY-User-Key-File-2: ssh-dss 
Encryption: aes256-cbc 
Comment: dsa-key-20150127 
Public-Lines: 17 
xxxxxxxxxxxxx 
Private-Lines: 1
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
Private-MAC: xxxxxxxxxxxxxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)

我认为身份验证无法使用此密钥。

我的问题是:

  • 我需要格式化这个键的布局才能在我的 CentOS 上使用吗?是否可以 ?
  • 如果没有,是否还有其他方法可以使用密码创建一对 2048 位 DSA 密钥?

感谢您的帮助,并为我的英语不好而感到抱歉

ssh centos authentication ssh-keys

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

PEM_read_PrivateKey 失败

我正在尝试使用 ssh 从 OSX Mavericks 登录 AWS,但玩得很开心。我输入:

ssh -i ~/.ssh/filename.pem
ec2-user@ec2-xx-x-xxx-xx.compute-1.amazonaws.com -v
Run Code Online (Sandbox Code Playgroud)

我得到了这个,以及一个要求输入密码的钥匙串弹出窗口,即使没有提供密码......

debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Saving password to keychain failed.
Run Code Online (Sandbox Code Playgroud)

我在 AWS 上启动了一个新实例并生成了一个新密钥对。当我让 .pem 文件不受保护时,OSX 钥匙串弹出窗口不会出现,但我无法访问 AWS,因为该文件不受保护:

“/Users/cvn/.ssh/chris-test.pem”的权限 0644 过于开放。

要求您的私钥文件不能被

其他的。该私钥将被忽略。错误权限:忽略

密钥:/Users/cvn/.ssh/chris-test.pem 权限被拒绝(公钥)。

所以我跑了

chmod 400 chris-test.pem
Run Code Online (Sandbox Code Playgroud)

钥匙串返回并要求输入我没有的密码......

ssh mac-osx ssh-keys amazon-web-services

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

交换系统服务器 ssh 密钥是否安全?

与通过电子邮件交换 ftp/sftp 凭据相比,通过电子邮件交换系统 ssh 密钥更安全吗?如果一个人没有物理 ssh 私有文件,黑客是否能够通过知道公共 ssh-key 字符串来访问服务器?

security ssh ssh-keys

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

为什么我的 SSH 密钥不能正确转发?

我正在尝试从我的机​​器 ssh 到另一台机器,然后从那里到第三台机器。当我手动执行时,它的工作方式如下:

localhost$ scp ~/.ssh/id_rsa myuser@myhost.something.something.com:.
localhost$ ssh myuser@myhost.something.something.com
myhost.something.something.com$ ssh -i id_rsa myuser@10.25.100.42
10.25.100.42$ 
Run Code Online (Sandbox Code Playgroud)

但我想直接做,一步。我希望我的 SSH 密钥从 localhost 转发到第三台机器。我认为这会起作用,但它不起作用:

localhost$ ssh -A -t myuser@myhost.something.something.com ssh 10.25.100.42
Permission denied (publickey).
Connection to myhost.something.something.com closed.
Run Code Online (Sandbox Code Playgroud)

为什么?如何在来自的单个命令中执行此操作localhost?以下是我使用详细标志时您可以看到的更多细节:

localhost$ ssh -v -A -t myuser@myhost.something.something.com ssh 10.25.100.42

OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to myhost.something.something.com [X.X.X.X] port 22.
debug1: Connection established.
debug1: identity file /home/myuser/.ssh/id_rsa type …
Run Code Online (Sandbox Code Playgroud)

ssh rsa public-key ssh-keys

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

OpenSSH 将 &lt;IPv6&gt;%2 添加到 known_hosts

当我使用 IPv6 连接到 CentOS 7 主机时<IPv6 host addr>%2known_hosts即使该主机的主机密钥(带有主机的 IPv6 地址)已经存在于known_hosts.

代表什么%2?我使用的是 CentOS 7 中未经修改的 OpenSSH,版本 6.6.1p1-25,版本 25.el7_2。

更新:评论提到名称解析是一个可能的问题。事实上,我在客户端机器上使用 systemd-resolved。当我resolved/etc/nsswitch.confhosts选项)中删除时,问题不再发生。这是与systemd-resolved-219-19.el7_2.7.x86_64)。

更新(2017 年 2 月):我刚刚注意到systemd 已解决的错误 4465,所以我注意到的行为是/只是一个错误,将在更高版本的 systemd 中修复。

ssh ipv6 known-hosts ssh-keys systemd

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

ssh 密钥密码错误但正确

我无法使用 ssh id_rsa/id_rsa.pub 密钥,因为看起来 ssh 认为输入的密码是错误的。但我确信这是对的。它看起来是这样的:

ssh myuser@myhost_ip -i ~/.ssh/id_rsa.pub 
The authenticity of host 'myhost_ip (myhost_ip)' can't be established.
RSA key fingerprint is SHA256: (some hash).
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'myhost_ip' (RSA) to the list of known hosts.
Enter passphrase for key '/Users/paul/.ssh/id_rsa.pub': 
Enter passphrase for key '/Users/paul/.ssh/id_rsa.pub': 
Enter passphrase for key '/Users/paul/.ssh/id_rsa.pub': 
Run Code Online (Sandbox Code Playgroud)

据我了解,它认为密码是错误的。在这个问题之前,我还有另一个问题(我不确定,但也许它们是相关的?):

Permissions 0644 for '/Users/paul/.ssh/id_rsa.pub' are too open.
Run Code Online (Sandbox Code Playgroud)

我用 修复了它chmod 400 ~/.ssh/id_rsa.pub。我不确定为什么会出现这个问题,我猜测这些密钥是在 Ubuntu 上生成并转移到 MacOS 上的。 …

ssh ssh-keys

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

将 ssh 密钥限制为仅允许 rsync/文件传输?

我有2个服务器(AB),我需要从rsync的文件A,以Broot身份。允许 root ssh 登录是可能的 ( PermitRootLogin without-password),但我想尽可能地将其锁定。我正在使用 ssh 密钥,并且 (on B) 根 ssh 密钥 (in /root/.ssh/authorized_keys) 仅限于A的 IP 地址 ( from="x.x.x.x ...")。

但是我怎样才能更多地锁定(这个 ssh 密钥)呢?是否可以将该 ssh 密钥限制为仅允许 rsync/文件传输(最好仅限于某个目录)?

对此进行研究将我指向提及scponlyshell 或rrsync来自 rsync 或rssh来自 OpenSSH 的脚本的古老网页。但是我怎么能只为那个键设置它们,而不让我的整个 root 帐户成为rssh

security ssh rsync ssh-keys

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

自动重新连接到断开的 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
查看次数

如何在不使用别名主机名的情况下为 user1@host 和 user2@host 使用不同的 ssh 密钥?

我有一个远程 CentOS 服务器,假设它叫做 hostname.com

hostname.com 有多个用户帐户,我想以这些用户中的任何一个(使用 ssh 密钥而不是密码)通过 ssh 进入该服务器。

似乎每个人都建议只更改我的本地 ssh 配置,为每个远程用户添加服务器别名,然后为每个别名提供不同的 IdentityFile。

那么我必须ssh bob@aliased_hostname1ssh alice@aliased_hostname2

还有其他解决方案吗?我宁愿不通过 ssh 进入别名主机名

理想我只想ssh bob@hostname.comssh alice@hostname.com自动选择正确的ssh密钥文件的基础上,远程用户名我试图登录为。

linux ssh centos ssh-keys ssh-agent

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

太多/太多的公共 SSH 密钥

我的任务是尝试/探索的一项新任务是设置一个服务器,该服务器基本上可以让 200 到 300 人通过 ssh 连接到单个用户来运行任务。他们可能只需要一天做一次或一天几次。问题是他们每个人都可以根据需要连接任意数量的设备。在外部机会,他们每个人都有 3 或 4 个设备来拥有公共 ssh 密钥,我们可能会在 autorized_keys 文件中获得多达 1000 个密钥。考虑到它实际上只是一个文本文件,1000 个键可能会影响性能。

有没有办法将密钥提取到数据库或其他东西而不是authorized_keys文件中?

出于好奇,这对于 1000 个用户来说可能不是什么大问题,但它让我想知道像 github 这样的人如何在他们的 git@github.com 用户上处理 500,000 个用户。我知道我个人有 3 个不同的密钥与我的帐户相关联,而且我知道许多其他人有多个。我不习惯这样规模的东西,所以我真的很奇怪。LDAP 管理这个的性能好吗?甚至某种 ssh 网关?

ssh scalability ssh-keys

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