我感到沮丧的是,可能出现错误的变量数量之多,以及根本上缺乏有关系统管理中非常常见的用例的完整文档或缺乏一致的文档,我认为这也导致了系统中大量的重大过失。安全配置条款。
我目前拥有一台服务器(尽管在虚拟机中),与我可能在线上拥有的任何其他服务器高度相似。
现在,我需要与用户一起使用IP地址SSH进入计算机。用户为vagrant
,IP为192.168.33.10
(本地实例)。我只能通过配置PasswordAuthentication yes
来做到这一点,但是由于许多明显的原因,这并不安全或不理想。
尝试遵循最佳做法,我已经读过here,“推荐”的设置公用密钥的方法是使用ssh-copy-id -i /path/to/key.pub user@ip
,但是如果您尚未登录,请使用this simply does not work ,或者PasswordAuthentication
是no
,或者您不以用户身份登录。这也是荒谬的,因为这意味着我可以将任何计算机上的密钥添加到任何可能使用我的名字的服务器上;显然不是这样。
我还阅读了here和许多其他地方,您应该将自己的公钥~/.ssh/id_rsa.pub
添加到服务器用户的主目录的~/.ssh/authorized_keys
文件中。 I am not the only person who has done this and failed。
最后,我读过here,这可能是服务器用户主目录的文件许可权所致。我只是通过尝试为该用户777
和chown
所有与ssh相关的文件来排除这种可能性。
最令人沮丧的是,在服务器和部署之间,我遇到或没有遇到问题的天气条件和情况高度不一致。 有时候有问题,有时没有。
我已经排除了的条件,很多,很多,两位或三位数以上的投票以及无法阻止的SEO所建议的条件(就像我怀疑很多人都知道的那样),而且我可以知道可以肯定,仍然有未知,神秘条件确定ssh的实际行为。 您知道它们是什么吗?
我得出的结论是:
我我充满信心的是,许多尝试 来配置安全环境的其他人只是放弃了并决定选择使用less secure options,例如为员工提供管理员创建的私钥的公钥。
配置SSH的公式和指南是什么?我虽然知道答案,但是正在生成一个公钥,将其添加到服务器用户的authorized_keys
中,以确保文件权限是可读的,可以配置sshd_config
,然后重新启动sshd
,但是显然不是这样,并且在Internet上不容易找到解决此问题的方法。