标签: openssh

Windows SSH:“私钥”的权限太开放

我已经在 Windows 7 中安装了 OpenSSH 7.6 以进行测试。SSH 客户端和服务器工作正常,直到我尝试从此窗口访问我的 AWS EC2 盒之一。

看来我需要更改私钥文件的权限。这可以通过chmod命令在 unix/linux 上轻松完成。

窗户呢?

private-key.ppm 是直接从 AWS 复制的,我猜也是这个权限。

C:\>ssh -V
OpenSSH_7.6p1, LibreSSL 2.5.3

C:\>ver

Microsoft Windows [Version 6.1.7601]

C:\>


C:\>ssh ubuntu@192.168.0.1 -i private-key.ppk
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'private-key.ppk' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "private-key.ppk": bad permissions
ubuntu@192.168.0.1: Permission denied (publickey).

C:\> …
Run Code Online (Sandbox Code Playgroud)

windows ssh openssh permissions private-key

273
推荐指数
9
解决办法
40万
查看次数

如何使 SSH 隧道可公开访问?

回到这个问题,我正在通过 OpenSSH (Client: Mac OS X 10.6 | Server: Linux Mint) 执行以下操作,但是被隧道连接的端口没有公开工作:

ssh -R 8080:localhost:80 -N root@example.com
Run Code Online (Sandbox Code Playgroud)
  • 目的是可以在远程计算机上打开本地端口
  • 似乎远程端只绑定在localhost,而不是所有接口上
  • localhost在远程计算机上打开端口时它可以工作,但是当尝试从我的本地计算机访问远程计算机的公共 IP 时,该端口似乎没有打开

我如何在 IP 上公开隧道供任何人访问?

ssh openssh ssh-tunnel

225
推荐指数
5
解决办法
17万
查看次数

从 known_hosts 中删除密钥

在过去的几周里,我构建了几个虚拟机。问题是,这.ssh/known_hosts给了我中间人警告。发生这种情况是因为另一个指纹与虚拟机 IP 相关联。

.ssh/known_hosts但是,在文件中,我没有找到与 IP 相关的记录,只有两个奇怪的类似密钥的字符串和“ssh-rsa”。

有没有人对如何从中删除旧密钥有任何想法known_hosts

ssh openssh hosts man-in-the-middle

202
推荐指数
7
解决办法
58万
查看次数

有没有办法让一个 SSH 配置文件包含另一个?

如果重要:

  • 操作系统:Ubuntu 10.04
  • SSH:OpenSSH_5.3p1 Debian-3ubuntu5

我希望一个 SSH 配置文件包含另一个。用例是在我的默认.ssh/config文件中定义我想要的任何内容,然后在单独的文件(例如~/.ssh/foo.config)中预先添加一些额外的东西。不过,我希望第二个文件包含第一个文件,因此我不必复制第一个文件中的所有内容。那可行吗?谢谢!

ssh openssh

185
推荐指数
6
解决办法
9万
查看次数

客户端提供的 SHA256 ssh 指纹,但只有服务器已知的 md5 指纹

当连接到一个新的/未知的服务器(使用最近的 OpenSSH)时,例如:

ssh example.com
Run Code Online (Sandbox Code Playgroud)

您将获得如下指纹:

The authenticity of host 'example.org (192.0.2.42)' can't be established.
RSA key fingerprint is SHA256:7KMZvJiITZ+HbOyqjNPV5AeC5As2GSZES5baxy1NIe4.
Are you sure you want to continue connecting (yes/no)?
Run Code Online (Sandbox Code Playgroud)

但是,通常以这种形式为服务器提供指纹:

f6:fc:1c:03:17:5f:67:4f:1f:0b:50:5a:9f:f9:30:e5
Run Code Online (Sandbox Code Playgroud)

如何检查真实性(不打扰服务器管理员提供 SHA256 指纹)?

ssh openssh

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

如何强制 ssh 使用特定的私钥?

随着ssh -i <private key filename>您可以指示ssh来使用额外的私钥来尝试验证。

文档并不清楚如何明确使用该密钥。

ssh openssh private-key

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

如何找到我的 openssh 客户端支持的 MAC、密码和 KexAlgorithms 的列表?

有没有办法ssh输出它支持的 MAC、密码和 KexAlgorithms?

我想动态查找,而不必查看源代码。

ssh openssh

63
推荐指数
4
解决办法
10万
查看次数

在新版本的 openssh 上以(旧)十六进制格式获取 SSH 密钥指纹

openssh 似乎改变了它显示关键指纹的方式。

我正在尝试从客户端机器 ssh 到服务器:

  • 客户端:运行 OpenSSH 6.6.1 的 ubuntu 14.04
  • 服务器:运行 OpenSSH 7.2p2 的 FreeBSD。

客户端将服务器密钥的 md5 哈希报告为 16 对十六进制数字的序列,如下所示:

a7:b1:3e:3d:84:24:a2:5a:91:5f:6f:e9:cf:dd:2b:6a

服务器默认使用 sha256 哈希,但由于这个答案,我可以通过运行强制它提供 sha1 哈希:

[root@host /etc/ssh]# ssh-keygen -l -E sha1 -f ssh_host_ecdsa_key.pub

我希望结果如下所示:

a7:b1:3e:3d:84:24:a2:5a:91:5f:6f:e9:cf:dd:2b:6a

但我得到了这个:

256 SHA1:KIh0ejR4O+RqrSq7JdGAASddRfI root@host.local (ECDSA)

在我看来,现在显示的是指纹的 base64 编码版本,而不是十六进制数字。

如何以与(旧)客户端报告的格式(冒号分隔的十六进制数字,sha1 哈希)相同的格式获取服务器密钥的校验和,以检查它们是否相同?

编辑: 旧版本的 SSH 提供md5校验和,而不是我错误地认为的 sha1 校验和。在 -E 选项中使用该校验和(正如现在接受的答案应该说明的那样)可提供所需的输出。

linux ssh freebsd openssh

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

rsa 公钥的右半部分重要吗?

在 ssh-keygen 生成的公钥文件“id_rsa.pub”中,==后面的部分重要吗?

我问是因为当我将“root@somedomain.com”更改为“root”时,它似乎仍然有效。

更一般地说,我很好奇那一半的目的是什么。

ssh openssh pgp public-key-encryption

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

SSH 权限在正确的密码身份验证时被拒绝

昨天我可以使用今天使用的完全相同的凭据成功通过 SSH 连接到我的机器。该机器正在运行CentOS 6.3。但是现在由于某种原因,它拒绝了我的许可。

这是我的-v打印输出sshd_configssh_config文件。

$ ssh -vg -L 3333:localhost:6666 misfitred@devilsmilk

OpenSSH_6.1p1, OpenSSL 1.0.1c 10 May 2012
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to devilsmilk [10.0.10.113] port 22.
debug1: Connection established.
debug1: identity file /home/kgraves/.ssh/id_rsa type -1
debug1: identity file /home/kgraves/.ssh/id_rsa-cert type -1
debug1: identity file /home/kgraves/.ssh/id_dsa type -1
debug1: identity file /home/kgraves/.ssh/id_dsa-cert type -1
debug1: identity file /home/kgraves/.ssh/id_ecdsa type -1
debug1: identity file /home/kgraves/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version …
Run Code Online (Sandbox Code Playgroud)

ssh centos user-accounts openssh permissions

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