linux – 是否有更简单的方法为新用户添加公钥验证?
我正处于使用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部分设置它们并限制目录的时间),这似乎是一个巨大的痛苦. 解决方法
您需要更改文件的所有权并适当地设置权限.
$chown -R newuser /path/to/home/.ssh $chmod 700 /path/to/home/.ssh $chmod 600 /path/to/home/.ssh/authorized_keys 为了使此过程更简单,可重复和可审计,请使用配置管理系统进行用户管理.所有广泛使用的配置管理系统(puppet,chef,ansible等)都具有创建用户和部署密钥的能力.使用配置管理系统的一个巨大好处是,您还可以将配置保持在源代码管理中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |