我有centos5。
有没有什么办法,我可以login到我的vps服务器与root用户从特定的IP地址只。
我读过,我可以使用私钥login到sshd。 但问题是我正在使用SFTP为我的所有Webistes,我不希望非IT用户使用密钥login与SFTP。
或者有没有什么办法,只有root可以使用密钥login到shell,但对于其他人而言,它的正常密码
现在更好的方法是使用Match关键字:
Match Host myworkstation PermitRootLogin yes
要么
Match Address 192.168.1.100 PermitRootLogin yes
这样,您可以将PermitRootLogin设置为“否”,但仍可以从工作站以root身份login。
例如,也可以使用这种方式来允许两台主机之间的root到rsync数据。
首先以非特权用户身份login,然后使用“su – ”或“sudo”来获得root权限通常是一种更好的做法,但是…
您始终可以将密钥的IP限制放在〜root / .ssh / authorized_keys中:
from="192.168.1.100" ssh-rsa AAAAh9uif...auwehuf== [email protected]
这将允许ssh使用[email protected]密钥只从192.168.1.100。
使用:
PermitRootLogin不带密码
在/ etc / ssh / sshd_config中。 除root之外的每个用户都将被允许使用密码login。 根需要使用密钥login。
编辑sshd_config (通常在/etc/ssh ),并添加或更改以下指令
PermitRootLogin yes AllowUsers root@thehosttoallow
然后重新启动守护进程
service ssh restart
首先,为什么要阻止用户使用密钥authentication? 这对我来说没有意义。
其次,不要允许通过ssh进行rootlogin。 只是不这样做 – 没有理由需要这样做。 这违背了每一个最好的做法,并有充分的理由。 如果您需要授予读取/写入某些文件的权限,则应该可以通过标准的linux文件系统权限来执行此操作。 如果您需要更细粒度的访问控制,请查看linux ACL系统。