我与具有以下特征的开发人员和管理员的小团队(<10)一起工作:
我认为这对于大多数初创公司和中小型企业 IT 团队来说是非常典型的。
在这样的团队中管理 SSH 密钥的最佳实践是什么?
您应该为整个团队共享一个密钥吗?
每个人是否应该在共享帐户(每台服务器上的“ubuntu”)上拥有自己的密钥?
分开账户?
每个团队成员是否应该为他们的每台笔记本电脑或台式电脑保留一个单独的密钥?
我不知道这是如何发生的。发行版是 Scientific Linux 6.1,一切都设置为通过公钥执行身份验证。然而,当 sshd 作为守护进程运行时(service sshd start),它不接受公钥。(为了获取这段日志,我已经更改了 sshd 脚本以添加 -ddd 选项)
debug1: trying public key file /root/.ssh/authorized_keys
debug1: restore_uid: 0/0
debug1: temporarily_use_uid: 0/0 (e=0/0)
debug1: trying public key file /root/.ssh/authorized_keys2
debug1: restore_uid: 0/0
Failed publickey for root from xxx.xxx.xxx.xxx port xxxxx ssh2
debug3: mm_answer_keyallowed: key 0x7f266e1a8840 is not allowed
debug3: mm_request_send entering: type 22
debug3: mm_request_receive entering
debug2: userauth_pubkey: authenticated 0 pkalg ssh-rsa
debug3: Wrote 64 bytes for a total of 1853
debug1: userauth-request for user root service ssh-connection …Run Code Online (Sandbox Code Playgroud) 我们正在寻求切换到基于密钥的 SSH 登录管理,并想知道是否有任何密钥管理系统可以让我们在全球范围内集中管理访问密钥。
理想情况下,系统应该允许为每个客户端发布密钥,并在需要时撤销它们,即时更新服务器机器密钥。
有谁知道这样的系统,无论是商业的还是开源的?
注意:为了澄清,我们需要对大量云服务器(类 EC2)和少量服务用户进行密钥管理。我猜下面的 LDAP + 补丁建议可能是要走的路。
当您想在多台机器上使用基于公钥的 ssh 登录时,您是否使用一个私钥,并将相同的公钥放在所有机器上?或者每个连接都有一个私钥/公钥对吗?
我dpkg-buildpackage在获得apt-get source nginxnginx 的 backports 版本并修改debian/rules以包含 uwsgi 模块后运行。命令的最后结果是:
dpkg-deb: building package `nginx' in `../nginx_0.7.67-3~bpo50+1_i386.deb'.
dpkg-deb: building package `nginx-dbg' in `../nginx-dbg_0.7.67-3~bpo50+1_i386.deb'.
signfile nginx_0.7.67-3~bpo50+1.dsc
gpg: keyring `/home/shogun/.gnupg/secring.gpg' created
gpg: skipped "Faidon Liambotis <paravoid@debian.org>": secret key not available
gpg: [stdin]: clearsign failed: secret key not available
dpkg-genchanges >../nginx_0.7.67-3~bpo50+1_i386.changes
dpkg-genchanges: warning: the current version (0.7.67-3~bpo50+1) is smaller than the previous one (0.7.67-3)
dpkg-genchanges: not including original source code in upload
dpkg-buildpackage: binary and diff upload (original source NOT …Run Code Online (Sandbox Code Playgroud) 我有一台启用了远程登录的 Mac OS X 机器(运行 10.5 的 Mac mini)。我想打开 sshd 端口到 Internet 以便能够远程登录。
出于安全原因,我想禁用使用密码的远程登录,只允许具有有效公钥的用户登录。
在 Mac OS X 中进行设置的最佳方法是什么?
我们不是专家,尝试更新我们的 Web 服务器 (JBoss-5.1.0.GA) 设置以满足 Diffie-Hellman 标准 - 到目前为止未成功。在https://weakdh.org/sysadmin.html上运行测试后,我们被告知需要“生成新的 2048 位 Diffie-Hellman 参数”。过去,我们使用 Java keytool 生成密钥,但是我们一直无法找到有关使用 Java keytool 生成新的 2048 位 Diffie-Hellman 参数的任何信息。有谁知道如何做到这一点或可以为我们指明正确的方向?谢谢!
我正在考虑删除 SSH 的基于密码的登录。但是,我不想允许无密码的 ssh 密钥,因为那会更糟。
如何确保只有具有密码的 SSH 密钥才能连接?
如果无法做到这一点,是否有替代方案,例如集中管理 SSH 密钥生成,以及阻止用户生成和/或使用他们自己的密钥?我想像PKI这样的东西。
CentOS/RHEL 6 在哪里存储自定义 GPG 密钥?我以为 /etc/pki/rpm-gpg 但我安装了 nginx 的密钥但找不到它。我看到它已正确导入,但它在哪里?
wget http://nginx.org/keys/nginx_signing.key
rpm --import nginx_signing.key
[root@web1-ftl rpm-gpg]# rpm -qi gpg-pubkey-7bd9bf62-4e4e3262
Name : gpg-pubkey Relocations: (not relocatable)
Version : 7bd9bf62 Vendor: (none)
Release : 4e4e3262 Build Date: Wed 05 Feb 2014 03:26:35 AM UTC
Install Date: Wed 05 Feb 2014 03:26:35 AM UTC Build Host: localhost
Group : Public Keys Source RPM: (none)
Size : 0 License: pubkey
Signature : (none)
Summary : gpg(nginx signing key <signing-key@nginx.com>)
Description :
-----BEGIN PGP PUBLIC …Run Code Online (Sandbox Code Playgroud) backuppc 服务器能够以 root 身份登录远程机器并备份它们,但是如果我以 backuppc 用户身份登录并尝试使用相同的密钥 ssh 进入这些机器,则该密钥将被拒绝,并显示以下调试输出:
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /var/lib/BackupPC/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to XXX.XXXXXX.com [XX.XXX.XX.XX] port 222.
debug1: Connection established.
debug1: identity file /var/lib/BackupPC/.ssh/identity type -1
debug1: identity file /var/lib/BackupPC/.ssh/identity-cert type -1
debug3: Not a RSA1 key file /var/lib/BackupPC/.ssh/id_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 …Run Code Online (Sandbox Code Playgroud)