标签: private-key

如何管理 Web 服务器 SSL 私钥保护(密码与无密码)?

我们在我公司的安全组中讨论了以下管理 SSL 私钥的选项中哪个更糟糕。

Web 服务器需要访问私钥以进行加密操作。应保护此文件免遭未经授权的访问。同时,服务器应该自动启动,无需人工干预(如果它足够安全)。

我们正在讨论三个选项:

  1. 使用文件系统权限保护密钥。

  2. 使用受密码保护的密钥并在每次重新启动时手动输入密钥。

  3. 使用受密码保护的密钥并将密钥存储在文件系统中以自动重启。

我们的担忧如下:

  1. 使用选项 1,重新启动是自动的,但妥协可以复制私钥,并且由于不受保护,可用于解密通信或冒充我们的服务器。

  2. 选项 2 似乎更安全,但它需要人工干预,如果它发生在非工作时间,系统管理员会担心。此外,密码应该与多个系统管理员共享,并且您知道共享的秘密不再是秘密。

  3. 选项 3 是前两个选项中最好的,但是如果有人可以访问密钥,也可以访问密码 :(,所以它看起来一点也不安全。

您如何管理服务器私钥的安全性?还有其他(更安全)的选择吗?

security password private-key

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

certutil:功能失败:安全库:数据库错误

当我使用certutil它时返回此错误:certutil: function failed: security library: bad database.

例如,我无法列出证书或密钥

我怎样才能解决这个问题?

ssl centos ssl-certificate private-key public-key

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

在 Windows Server 2008 R2 上通过 IIS 7.5 生成 CSR 是否总是创建新的私钥?

为 Windows 2008 R2 服务器生成 CSR,需要确保用于 CSR 的私钥是新的。

我之前使用 OpenSSL 创建了我自己的自签名证书以进行测试,如果我没记错的话,我能够指定要使用的私钥。

在 IIS 服务器证书中,我从未被要求生成或选择私钥。

那么,在基于 Windows 的服务器上生成 CSR 是否总是为其创建一个新的私钥?如果没有,我如何确保制作/使用新的私钥?

ssl iis-7.5 csr windows-server-2008-r2 private-key

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

堡垒服务器:使用 TCP 转发 VS 将私钥放在服务器上

我们有堡垒服务器 B。我们需要使用私钥从 A 通过 B 到 C 的 SSH。

什么是更好的选择:

  • 私有 SSH 密钥放在服务器B。我们了解到在生产环境中这样做是个坏主意。

    这里

    永远不要将您的 SSH 私钥放在堡垒实例上。相反,使用 SSH 代理转发首先连接到堡垒,然后从那里连接到私有子网中的其他实例。这使您可以将 SSH 私钥保存在您的计算机上。

  • 使用SSH 代理转发。为了设置代理转发,我需要允许 TCP 转发。设置代理转发时,会在转发主机上创建一个套接字文件,这是密钥可以转发到目的地的机制。在 AWS 的堡垒设置中:

    TCP 转发:将此值设置为 true 将启用 TCP 转发(SSH 隧道)。这可能非常有用,但也存在安全风险,因此我们建议您保留默认(禁用)设置,除非需要

    也从这里

    SSH 代理转发被认为是有害的

什么是更好的?第二个链接的替代方法:ProxyCommand,我知道它有助于解决套接字文件问题,但我仍然认为我必须启用 TCP 转发,所以它足够安全吗?

security linux ssh private-key bastion

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

更改 GPG 加密密钥的密码是如何工作的?

我知道我可以做到(编辑:修复了这个问题;我对 gpg 而不是 openssh 感兴趣)

gpg --edit-key
Run Code Online (Sandbox Code Playgroud)

...更改我的密钥的密码,但我不确定这意味着什么。

如果我在盒子 A 上加密数据并在盒子 B 上解密(比如口是心非),我是否必须更改两端的密码?以前的备份仍然有效吗?

密码短语只是密钥文件周围某种加密包装器的密钥吗?

愚蠢的问题,但我不想搞砸。谢谢!

linux password gpg private-key

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

SSH 不允许使用具有组可读权限的密钥

我有一个开发 git 服务器,当live分支被推送到时,它会部署到实时服务器。每个用户都有自己的登录名,因此post-receive实时部署的钩子在他们自己的用户下运行。

因为我不想将用户公钥维护为远程实时服务器上的授权密钥,所以我编写了一组“属于 git 系统的密钥以添加到远程实时服务器(在post-receive我使用的钩子中$GIT_SSH使用-i选项设置私钥)。


我的问题是,由于所有用户可能都希望部署到现场,因此 git 系统的私钥必须至少是组可读的,而 SSH 确实不喜欢这样。

以下是错误示例:

XXXX@XXXX /srv/git/identity % ssh -i id_rsa XXXXX@XXXXX
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0640 for 'id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: id_rsa
Run Code Online (Sandbox Code Playgroud)

我环顾四周,希望能找到强制 ssh 通过连接的方法,但我什么也没找到,但人们盲目地说除了单个用户外,您不应该允许访问任何内容。

linux ssh deployment git private-key

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

OpenSSH 尝试私钥的顺序是什么?

鉴于以下所有内容都存在,我很难找到有关 OpenSSH 客户端尝试使用私钥对服务器进行身份验证的顺序的正确文档:

  • 具有默认名称的密钥文件~/.ssh,例如~/.ssh/id_rsa
  • 具有非默认名称的密钥文件配置为通过特定主机使用~/.ssh/config
  • 密钥由ssh-agent.

是否总是尝试所有这些位置(前提是主机与 中的条目匹配~/.ssh/config),以及按什么顺序?

背景:我有~/.ssh/id_rsa它只能用于对服务器A进行身份验证,并且我有另一个管理的密钥ssh-agent只能用于对服务器B进行身份验证。当试图ssh,认证失败,显然是因为 ~/.ssh/id_rsa是尝试。尝试由 管理的密钥似乎没有后备ssh-agent

ssh private-key ssh-agent

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

这个 ssh 错误是什么意思?

这是我最后的手段。几个小时以来,我一直试图在这里找出问题所在。

交易如下:我已将我的私钥从机器 #1 复制到机器 #2。机器 #1 能够使用我的公钥通过 ssh 连接到服务器就好了,但是当尝试连接到服务器时,机器 #2 提供以下输出:

$ ssh -vvv -i /home/kevin/.ssh/kev_rsa user@192.168.1.244 -p 22312
OpenSSH_5.3p1 Debian-3ubuntu6, OpenSSL 0.9.8k 25 Mar 2009
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.1.244 [192.168.1.244] port 22312.
debug1: Connection established.
debug3: Not a RSA1 key file /home/kevin/.ssh/kev_rsa.
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug3: key_read: missing keytype
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: …
Run Code Online (Sandbox Code Playgroud)

ssh rsa keys private-key

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

主机接受 SSH 密钥但客户端断开连接

你好,

我在 Fedora 23 安装后遇到了 SSH 问题。

当我不想使用私钥连接到我的远程主机时,我的主机会找到密钥:

debug1: matching key found: file /home/theo/.ssh/authorized_keys, line 1 RSA {REDACTED}
debug1: restore_uid: 0/0
Postponed publickey for theo from {REDACTED} port 60351 ssh2 [preauth]
Connection closed by {REDACTED} [preauth]
debug1: do_cleanup [preauth]
debug1: monitor_read_log: child log fd closed
Run Code Online (Sandbox Code Playgroud)

但正如你看到我的客户自己断开连接

debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/tbouge/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg …
Run Code Online (Sandbox Code Playgroud)

ssh private-key

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

使用 Putty 命令行 PSFTP.exe 输入私钥密码

我正在使用 psftp.exe 自动下载文件,但需要使用私钥连接,如下所述。我能够连接,但是,私钥需要密码。

此过程有效,但我必须从键盘输入密码,这会破坏从命令行运行的过程。我想知道是否有人可以告诉我如何在命令行中发送密码。

Using Putty's PSFTP.exe With A Private Key

Command Line:

    c:\putty\psftp.exe username@ftpsite.com -i putty_id_rsa_1024.ppk -b c:\putty\myscript.scr

Command Line Notes:  Replace username with your login name and modify the "putty_id_rsa_1024.ppk" key name to match your key. In order to use a key, you will need to use puttygen.exe to generate, import, and or export your keys. PuTTY requires a putty key file to make a private key connection. 

myscript.scr file contents:

cd /
put File1.txt

put File2.txt

put …
Run Code Online (Sandbox Code Playgroud)

putty private-key

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