我正处于使用Ubuntu 12.04在新的Web LEMP服务器上设置安全用户的艰难而痛苦的过程.我最初会设置类似vsftpd或proftpd的东西,但是很多人建议只是直接使用SFTP,所以我会.最终,我有一个主要用户(我只是用来防止root登录).我创建了这个新用户,生成了一个公钥对,将公钥上传到users~ / .ssh目录作为authorized_key,更改了SSH端口号,删除了root登录,并将passwordauthentication设置为NO,因此用户被迫使用他/她登录的钥匙.很容易(虽然在PC上工作似乎比我的OSX / NIX同行更令人头疼).
我现在正在尝试创建新用户(对于我的Web开发人员),这些用户只需拥有SFTP访问权限,并将他们的曝光仅限于他们收费的网络目录.每个目录都具有以下格式:
/var/www/sitename.com/public/
我的头痛现在开始.创建一个新用户?简单.添加密码?真的不需要给我需要公钥/私钥(他们永远不会有sudo访问权限)但是没关系.我正在努力解决以下问题:
>我如何在服务器上实际存储这个新用户的公钥?如果我以root用户身份登录并只在其主目录中创建authorized_keys文件,则它将具有root所有者和组权限,并且无法登录到服务器.同样,这些新用户无法登录并自行创建,因为他们不允许通过密码登录.
(注意:我也在努力设置sftp并将它们限制在各自的网站目录中,但我想我可以稍后自己解决这个问题).
任何建议?
编辑
目前的过程是这样的:
>从个人那里获取公钥
>完成以下命令:
#sudo mkdir -p /home/newuser/.ssh #sudo nano /home/newuser/.ssh/authorized_key #(copy key into single line and save) #chown -R newuser:newuser /home/newuser #chmod 700 /home/newuser/.ssh #chmod 600 /home/newuser/.ssh/authorized_key
我想这并不是绝对可怕但是如果我们有大量的开发人员(加上我要用SFTP部分设置它们并限制目录的时间),这似乎是一个巨大的痛苦.