【问题标题】:Ssh public key authentication without changing system filesssh公钥认证不改变系统文件
【发布时间】:2015-04-06 14:36:07
【问题描述】:

我正在更改不同的参数,如 RSAAuthenticationPubkeyAuthenticationPasswordAuthentication (sudo vim /etc/ssh/sshd_config) 以禁用 ssh 密码验证以强制 ssh 仅通过公钥登录。

这些实验对许多用户产生了不利影响,因为他们在尝试ssh 到服务器时突然发现“连接被拒绝”。我想避免这些实验。有什么办法可以在不接触/etc/ssh/ssd_config之类的系统文件的情况下启用公钥身份验证?

【问题讨论】:

    标签: linux unix ssh public-key-encryption openssh


    【解决方案1】:

    当然。设置一个备用配置文件,并在试验时在另一个端口上运行 sshd:

    cp sshd_config sshd_config_working
    /usr/sbin/sshd -p 2222 -f sshd_config_working
    

    现在您可以连接:

    ssh -p 2222 user@localhost
    

    您可以根据需要进行任意数量的更改,直到它按需要运行。此时,将您的 _working 配置复制回主配置文件并重新启动 sshd。

    或者,停止在生产服务器上闲逛并设置虚拟机或容器进行测试,您可以在其中随意修改 sshd 配置而不会影响任何人。

    【讨论】:

    • 感谢您的宝贵回复。是的,我与我的系统管理员讨论了您提到的替代方案。但我将在下周讨论打开端口 2222 并在那里复制配置文件。同时我搜索了开放22以外的端口,找到了链接,想知道你的cmets:adayinthelifeof.nl/2012/03/12/…
    • 还有一个问题 larsks,我的理解是在我将端口从 22 更改为 2222 之后,我只需要使用“ssh -p 2222 user@localhost”连接到服务器,而其他人登录命令保持不变(ssh user@localhost)。我希望我是对的
    • 您的第二条评论是正确的(您将使用备用端口连接到您的“实验性”sshd,普通用户不会受到影响)。您链接到的文章与使用备用端口来试验配置无关;它正在解决使用备用端口作为安全措施的做法,因此与您正在做的事情无关。
    猜你喜欢
    • 2014-11-13
    • 2017-07-06
    • 1970-01-01
    • 2021-12-18
    • 2011-08-11
    • 1970-01-01
    • 2017-08-04
    • 2021-01-06
    • 1970-01-01
    相关资源
    最近更新 更多