Articles of ssh keys

从PuTTy到Debian的SSH“authorized_keys不是常规文件”错误

我无法使用PuTTy从我的Windows 7计算机连接到使用SSH RSA密钥身份validation的新configuration的Debian Squeeze服务器。 在debugging模式下运行SSH时出现此错误: User myuser authorized keys /home/myuser/.ssh/authorized_keys is not a regular file 到目前为止我所做的是: ssh-keygen -t rsa 设置密码。 将id_rsa.pub文件复制到~/.ssh/authorized_keys 将id_rsa复制到Windows 7机器上的文本文件中 将密钥导入puttygen.exe并将其转换为.ppk私钥文件。 将私钥文件加载到pageant.exe并确保Connection-> SSH-> Auth Authenticate方法具有“尝试使用Pageant进行身份validation”选中。 加载configuration文件。 基于OpenSSH.org的常见问题解答 ,我将权限更改为以下内容: drwxr-xr-x 3 root root 4096 Aug 13 14:16 /home drwxr-xr-x 7 myuser myuser 4096 Aug 17 12:55 /home/myuser drwx—— 3 myuser myuser 4096 Aug […]

如何在服务器上为root用户设置公共SSH密钥?

我试图按照Slicehost文档来设置我的服务器。 我到达了SSH部分。 我把它写成了,但是当我从root登出,我不能再次访问root @ IP_ADDRESS -p 30000! 但我可以访问用户@ IP_ADDRESS -p 30000。 所以,问题是,如何为root用户设置一个公共的SSH密钥? 提前致谢!

用户@主机在SSH-RSA公共密钥

经常出现在公共ssh-rsa密钥播放结尾的user @ host有什么作用? 有必要吗? 如果在authentication中有任何用途,或者仅仅是为了信息的目的(为读者)创build密钥的人和地点的logging?

与chroot的SFTP取决于连接用户的公钥

我想build立一个服务器(运行Debian或FreeBSD),通过sshfs从不同的客户端接收备份。 每个客户端应该能够读取和写入自己的备份数据,但不能读取任何其他客户端的数据。 我有以下想法:每个客户端通过公钥validation连接到[email protected]。 用户备份有一个特殊的authorized_keys文件,如下所示: command="internal-sftp" chroot="/backup/client-1/data" ssh-rsa (key1) command="internal-sftp" chroot="/backup/client-2/data" ssh-rsa (key2) command="internal-sftp" chroot="/backup/client-3/data" ssh-rsa (key3) etc… 这样做的好处是我不需要为每个客户端使用一个单独的用户,我可以很容易地用脚本自动生成authorized_keys文件。 只有一个问题: chroot=…不起作用。 OpenSSH的authorized_keys文件似乎没有ChrootDirectory(可在全局或匹配用户块中的/ etc / ssh / sshd_config中工作)的等效项。 有一个相当简单的方法来完成我想要使用OpenSSH? 也许用巧妙的方式使用command=…指令? 另外,还有其他的SFTP服务器可以做我想要的吗? 编辑 :为了更清楚我想实现什么:我想要几个客户端能够存储在我的服务器上的文件。 每个客户端都不应该能够看到其他客户端的文件。 而且我不想用几十个用户帐户来清理我的服务器,所以我想要一个易于pipe理的解决scheme,让客户共享一个用户帐户,并且仍然无法访问彼此的文件。

允许除root以外的所有用户使用密码?

为了方便起见,我想让root用户在我的服务器上启用,而人们反对这个想法(我知道)的唯一原因是对SSH的暴力攻击。 那么,在SSH中是否有一种方法可以为root用户启用密码访问function,但允许root用户使用ssh-key访问? 操作系统: Ubuntu服务器版10.04 x86 SSH版本: OpenSSH_5.3p1 Debian-3ubuntu7,OpenSSL 0.9.8k 2009年3月25日

禁用用户的ssh密码authentication

是否有可能为一个系统上的一个用户启用SSH密码authentication,并为另一个用户禁用它。 如果你添加 ChallengeResponseAuthentication no PasswordAuthentication no UsePAM no 到/ etc / ssh / sshd_config你为所有用户禁用它 将它添加到〜/ .ssh / config似乎不起作用

如何撤销ssh证书(不是ssh身份文件!)

我已经生成了这样的ssh证书: ssh-keygen -f ca_key #生成一个用作证书的ssh密钥对 生成主机密钥ssh-keygen -s ca_key -I cert_identifier -h host_key.pub 在服务器的sshdconfiguration文件中指定主机密钥: TrustedUserCAKeys /etc/ssh/ssh_cert/host_key.pub 生成本地证书以使用ssh证书访问主机: ssh-keygen -s ca_key -I cert_identifier user_key.pub 。 这应该生成user_key-cert.pub 我现在可以使用ssh -i user_key user@host (使用user_key-cert.pub)login到服务器。 除了禁用TrustedUserCAKeys文件,我怎样才能撤销证书?

在主机之间分配ssh公钥

我正在使用Ansible设置一些机器,并且需要在它们之间启用无密码连接。 我有一个数据库主和几个奴隶。 对于初始复制,从站需要ssh进入主站并获得数据库的副本。 我不知道什么是最好的方式dynamic地添加所有的奴隶公钥到主人authorized_keys文件。 我已经想过提供从站公钥作为variables,然后通过authorized_key模块添加它们。 但是,我必须保持键的列表。 我正在寻找一种方法,我只是添加另一个主机的奴隶组,其余的将自动工作。 有任何想法吗? 更新: 到目前为止,我得到了以下伪代码: # collect public keys from slave machines – name: collect slave keys {% for host in groups['databases_slave'] %} shell: /bin/cat /var/lib/postgresql/.ssh/id_rsa.pub register: slave_keys #how to add to an array here? {% endfor %} # Tasks for PostgreSQL master – name: add slave public key sudo: […]

SSH ForwardAgent多跳

我一直在寻找一个解决scheme,在过去的2小时以下的问题,没有运气。 发展: 我正在使用公钥authentication来连接到我的服务器。 我使用ssh-agent转发为了不必pipe理公共/私有密钥。 假设我有服务器A, B and C 如果我从LOCAL —> A —> B连接,这个工作得很好。 它也工作得很好,如果我做LOCAL —> A —> C 现在,如果我尝试LOCAL —> A —> B —> C ,SSH不能从B to C连接B to C 值得注意的是:我连接到服务器A作为stream动性,而我连接到服务器B作为根。 连接到服务器B作为stream动性解决了这个问题,但这不是我的select。 根据用户的build议,我每次使用ssh -A来确保代理转发已启用。 我发现了一个类似的问题,在这里没有答案: 是否有可能链接ssh代理转发通过多跳? 根据@Zoredache这里: https ://serverfault.com/a/561576/45671我只需​​要调整我的客户端configuration在每个中间系统。 我相信我做了。

在本地弃用SSH密钥对的方法

我已经使用我的ssh键了一段时间。 我想升级我的SSH密钥对更强大的encryption,我不知道我的密钥注册所有设备。 是否可以在本地“弃用”一个SSH密钥,这样,如果我使用弃用的SSH密钥进行身份validation,会收到警告?