标签: ssh-keys

管理 SSH 密钥

我们有大约 2500 台 Linux 服务器。我们有一个 Jumpstart 服务器,我们可以从它 SSH 到任何服务器以执行系统管理员相关的任务。我们已经部署了一个私钥,并将匹配的公钥部署到了所有服务器,但这是一个巨大的安全威胁。

我们希望为每台服务器部署不同的密钥,但这会创建大量密钥并使其难以管理。请建议处理许多服务器和密钥的正确方法。

linux ssh ssh-keys

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

如何查看服务器的ECDSA主机密钥?

当收到如下消息时,如何查看服务器的密钥?

$ ssh example.com
Warning: the ECDSA host key for 'example' differs from the key for the IP address '10.0.0.2'
Offending key for IP in /Users/louis/.ssh/known_hosts:1
Run Code Online (Sandbox Code Playgroud)

执行此操作时,ssh -v example.com我可以看到debug1: Server host key: ecdsa-sha2-nistp256 SHA256:...,但这与纠正问题后最终存储在known_hosts 中的 ssh-rsa 密钥不同。

ssh ssh-keys

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

加载密钥“privkey.ppk”格式无效

我做了什么:
我正在尝试使用私钥连接到我的远程服务器

ssh -i privkey.ppk root@ip
Run Code Online (Sandbox Code Playgroud)

但它返回一个错误。
错误信息:

Load key "privkey.ppk": invalid format
root@ip: Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud)

预期结果:
我应该能够使用 ssh 密钥登录到我的远程服务器。

关键文件内容:

PuTTY-User-Key-File-2: ssh-rsa
Encryption: aes256-cbc
Comment: rsa-key-20181019
Public-Lines: 6
some lines
Private-Lines: 14
some lines
Private-MAC: some letters
Run Code Online (Sandbox Code Playgroud)

操作系统: Ubuntu 18.04

附:

  1. 我在 putty、termius 中使用相同的密钥登录到我的远程服务器并且它工作正常
  2. Ansible ping cmd 也返回相同的结果)

ssh ssh-keys ubuntu-18.04

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

禁用用户的 ssh 密码认证

是否可以为系统上的一个用户启用 ssh 密码身份验证并为另一个用户禁用它。

如果添加

ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no
Run Code Online (Sandbox Code Playgroud)

到 /etc/ssh/sshd_config 你为所有用户禁用它

将它添加到 ~/.ssh/config 似乎不起作用

linux ssh ssh-keys

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

在多台计算机上使用相同的 ssh 私钥/公钥对是否无害?

每当我得到一台新笔记本电脑时,我都会从旧笔记本电脑复制公钥和私钥。但是由于我有时会使用旧笔记本电脑,因此我将使用来自最多 3 台不同计算机的相同 dsa 密钥对登录服务器等。这样做有什么害处吗?还是为您拥有的每台计算机拥有不同的公钥和私钥更好?

ssh ssh-keys

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

什么是共享 ssh-keypairs 的好且安全的方式?

我有一些密钥对,用作身份验证,用于通过 ssh 连接到我在 Amazon 云上的服务器。我每周手动轮换这些证书。我的问题是,我需要与一些同事共享证书,一些在局域网上,一些在国内其他地方。共享证书的最佳做法是什么?我最初的想法是 Dropbox 和电子邮件。我们不托管带有加密功能的专用电子邮件服务器,也没有 VPN。

谢谢。

certificate ssh file-sharing public-key ssh-keys

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

CentOS 忽略我的公钥

我正在尝试使用 SSH 连接到我自己的 CentOS 服务器;我可以用密码正常连接;我正在尝试使用我的公钥连接,但服务器不尝试公钥身份验证。我已按照CentOS wiki 中此页面上的所有说明进行操作,并验证了以下内容:

  • 我正在运行 CentOS 6.0 或更高版本

  • 我的 sshd_config 具有以下内容:

    PermitRootLogin no
    PubkeyAuthentication Yes
    RSAAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys
    
    Run Code Online (Sandbox Code Playgroud)
  • 我在客户端主目录的 .ssh/ 文件夹中创建了一个私钥

  • 公钥(由 生成ssh-keygen)的全文在服务器主目录中的 .ssh/authorized_keys 文件中占一行。
  • 我在客户端和服务器上都设置了以下权限模式:

    chmod 700 .ssh
    chmod 600 .ssh/*
    
    Run Code Online (Sandbox Code Playgroud)

ssh selinux centos ssh-keys centos6

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

SSH 如何忽略 IdentityFile not found 错误?

我目前在我的 .ssh/config 文件中有这个:

Host *
AskPassGUI no
IdentityFile ~/.ssh/%r@%h
IdentityFile ~/.ssh/%h
IdentityFile ~/.ssh/id_dsa
Run Code Online (Sandbox Code Playgroud)

当我通过 ssh 连接到我没有密钥文件的主机时,登录可以正常工作,但我也会收到以下错误:

no such identity: /Users/user/.ssh/user@example.com: No such file or directory
no such identity: /Users/user/.ssh/example.com: No such file or directory
Run Code Online (Sandbox Code Playgroud)

理想情况下,我希望 ssh 检查文件,但如果找不到任何文件,则不会抛出错误。这个想法是能够将名为“user@example.com”或“example.com”的私钥放入我的 .ssh 目录中,并让 ssh 在使用该用户/主机组合登录时使用它们,但不要抱怨和如果文件丢失,则正常登录。我不想使用这个答案中Host描述的指令,因为我有很多关键文件,我不想将它们都添加到文件夹中,然后编辑配置文件并为每个文件添加主机指令。

这样的事情可能吗?

ssh ssh-keys

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

如何在 sshd 中禁用所有身份验证?

这是一个我完全找不到答案的问题:如何配置 sshd 以便任何人都可以在没有密码或密钥身份验证的情况下自由 SSH 进入盒子?目标是允许任何人运行“ssh user@host”并进入盒子,而无需提供密码或配置任何密钥。这甚至可能吗?

在有人问之前,我很清楚这在实践中是一个坏主意,但是,这纯粹是针对我用于学习目的的沙箱服务器。

linux ssh ssh-keys

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

如何在 Windows 上使用 OpenSSH 证书?

OpenSSH 支持使用证书颁发机构签署用户密钥。来自man ssh-keygen

ssh-keygen supports signing of keys to produce certificates that may
be used for user or host authentication.  Certificates consist of a
public key, some identity information, zero or more principal (user
or host) names and a set of options that are signed by a Certification
Authority (CA) key
Run Code Online (Sandbox Code Playgroud)

在纯 Linux 环境中,SSH 证书非常易于使用。服务器部分 ( TrustedUserCAKeys)没问题,并且在客户端ssh -i做正确的工作。

我需要能够使用来自 Windows SSH 客户端的 OpenSSH 证书(该项目是在系统管理员使用公司特定的身份验证方案对自己进行身份验证后,向系统管理员 Windows 工作站提供短期 SSH 证书)。

Cygwin 不是一个选项(用锤子杀死一只苍蝇,Windows 管理员可能不接受),PuTTY 不识别 OpenSSH 证书。

还有什么其他选择?

windows ssh authentication ssh-keys

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