2015-02-06 85 views
-1

我改变像RSAAuthenticationPubkeyAuthenticationPasswordAuthenticationsudo vim /etc/ssh/sshd_config)不同的参数来禁用ssh密码验证仅通过公共密钥来强制ssh登录。SSH公钥验证文件

实验对许多用户造成了负面影响,因为他们在尝试ssh到服务器时突然发现“连接被拒绝”。我想要避免这些实验。是否有任何解决方法来启用公钥验证,而不需要接触像/etc/ssh/ssd_config这样的系统文件?

回答

2

当然。设置可选的配置文件,另一个端口上运行sshd的,而你正在尝试:

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

现在,您可以连接:

ssh -p 2222 [email protected] 

而且,只要你想,直到你可以使尽可能多的变化它按照需要工作。此时,将您的_working配置复制回主配置文件并重新启动sshd。

另一种方法是,停止在生产服务器上进行操作并设置虚拟机或测试工具,以便在不影响任何人的情况下尽可能多地修改sshd配置。

+0

谢谢你的宝贵回应。是的,我与系统管理员讨论了您提到的替代方案。但我将在下周讨论有关打开端口2222并将配置文件复制到那里的问题。同时我搜索了22以外的其他开放端口,找到了链接,想知道您的意见:https://www.adayinthelifeof.nl/2012/03/12/why-putting-ssh-on-另一个端口比22-is-bad-idea/ – user3565150 2015-02-06 15:09:34

+0

还有一个问题,我知道的是在将端口从22改为2222之后,我只能用“ssh -p 2222 user”连接到服务器@localhost“,而其他登录命令保持不变(ssh user @ localhost)。我希望我是对的 – user3565150 2015-02-06 15:12:16

+0

您的第二条评论是正确的(您将使用备用端口连接到您的“实验性”sshd,而普通用户不会受到影响)。您链接的文章与使用备用端口进行configs实验无关;它正在处理将替代港口作为安全措施的做法,因此与您正在做的事情无关。 – larsks 2015-02-06 15:39:51