如何sudo在 RHEL(Fedora、CentOS 等)或 Ubuntu 发行版上设置无密码访问?(如果跨发行版都一样,那就更好了!)
设置:个人和/或实验室/培训设备,无需担心未经授权的访问(即设备位于非公共网络上,并且任何/所有用户都是完全信任的,并且设备的内容是“普通的”) .
我试图理解直接使用 root 进行 ssh 或在维护服务器的情况下创建辅助 sudo 用户之间的技术参数/安全影响。为了澄清这一点,我们讨论的是单个管理员拥有的服务器。对于在机器上工作的多人来说,很明显,为每个实际人员拥有唯一的用户和细粒度的权限可以带来审计跟踪的好处。
我的想法是,如果这是一个桌面站,那么这是有道理的,建议使用非root用户进行日常工作,但在服务器上,您通常登录来维护它,并且99%的时间您的所有活动都需要root权限。
那么,创建一个“代理”用户(无论如何都要 sudo 到 root,而不是直接提供对 root 的 ssh 访问权限)是否有任何安全优势呢?
我能想到的唯一好处是通过模糊性实现安全性,即机器人通常会尝试探测“root”用户。但从我的角度来看,如果 sudoers 的用户受到威胁,就等同于 root 用户受到威胁,所以游戏就结束了。
此外,大多数远程管理框架、NAS 系统、虚拟机管理程序都鼓励使用 root 用户进行 Web 登录。
我是 Ansible 的新手。到目前为止,我见过的大多数 VPS 配置指南都是这样做的:
ssh(不是密码)登录的新用户wheel组中,具有无密码 sudo权限我明白(1)和(2),但不明白(3)。
当然无密码sudo就像登录一样root?我理解好处(方便),但这不是非常不安全吗?
我意识到管理员以各种方式运行他们的网络,所以这可以说是“主观的”,但这是一种非常普遍的做法,甚至在各种官方 ansible 文档以及托管公司发布的指南中都有体现。这违背常识。它背后的逻辑是什么?
我正在使用一些已启动并正在运行的 Amazon EC2 服务器,我需要通过 SSH 连接到这些服务器。我没有第一次设置服务器时生成的任何密钥(在我到达这里之前很久就有人做了)。没有密钥文件我还能进入服务器吗?
FWIW 到目前为止,我已经尝试了很多方法来将 SSH 连接到盒子中,包括在 EC2 仪表板中生成新的密钥对,但似乎没有任何效果。这个亚马逊 AWS 支持帖子和这个答案似乎表明我运气不好,除非我想为我当前的服务器制作一个 AMI 然后用它来实例化一个全新的 EC2 服务器实例(只是为了生成 .pem 文件那时候)。这真的是我现在进入盒子的唯一方法吗?!