首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无密码SSH的含义是什么?

无密码SSH的含义是什么?
EN

Unix & Linux用户
提问于 2015-01-05 14:45:14
回答 5查看 749关注 0票数 2

如果UNIX用户通过SSH访问服务器,并且我们只希望允许公开密钥登录,那么是否还有其他需要添加到这个列表中的项,我应该关注这些项呢?

  1. 在服务器上的pubkey login文件中允许sshd_config
  2. 默认密码的注意事项,如"!“或"*“
EN

回答 5

Unix & Linux用户

发布于 2015-01-05 14:56:21

不管用户希望它是什么,考虑到密码复杂性的任何策略。如果唯一的访问是通过SSH,而PasswordAuthenticationno in sshd_config,那么密码是什么并不重要。还请注意,shadow中的条目是加密的密码,因此!*的值不是密码,而是不是有效加密值的字符串,从而阻止了基于密码的登录。

票数 1
EN

Unix & Linux用户

发布于 2015-03-02 15:41:06

是的,这是可能的,但是有机会通过在/etc/passwd中运行一个新的密码文件来更改密码。如果不是,尝试可能更有效的方法是不那么稳定地使用sshd_config,但是我不会推荐它,除非您现在正在做什么。

票数 0
EN

Unix & Linux用户

发布于 2015-03-02 19:47:15

假设您运行的是类似于RHEL/CentOS w/ OpenSSH的程序,我通常会在没有密码的情况下这样做:

  • 将sshd_config配置为只接受公开密钥身份验证(PubkeyAuthentication yes, PasswordAuthentication no, ChallengeResponseAuthentication no, UsePAM no)
  • 将所有现有用户设置为非有效密码(chpasswd -e 'pubkey!!' <username>)
  • 删除所有现有用户的密码过期(chage -M -1 <username>)
  • 如果使用sudo,请确保所有用户规范都标记为NOPASSWD (例如%wheel ALL=(ALL) NOPASSWD: ALL)。
  • 确保您的用户创建过程将维护这些需求(例如useradd -p 'pubkey!!' -K MAX_PASS_DAYS=-1 <username>)

在锁定密码访问之前,请确保您能够通过公共密钥成功地进行身份验证。确保您的/home分区不在网络挂载上(或其他可能不总是可用的东西)。没有什么事情比无法访问您的服务器更糟糕了,因为它无法访问您的公共密钥。如果系统是无头的,请确保您有一些方法可以在紧急情况下快速获得直接控制台访问(KVM、虚拟控制台、急救车等)。

尽管如此,我会考虑在拥有完全sudo访问权限的任何人的帐户上设置一个密码,并配置sudoers以要求他们提供密码。如果所有其他内容都按照上面的方式配置,它们仍然无法使用这个密码登录到服务器,但是它将为您提供一些额外的保护,防止有人坐在他们的命令提示符下做“不好的事情(Tm)”。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/177543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档