2011年9月6日星期二

linux VPS添加仅有代理权限的SSH账号

很多时候,因为一些特殊的问题,我们需要用到代理。大家都知道XEN的VPS搭建VPN比较容易,PPTP一键安装包很快就OK了。但是OpenVZ就麻烦一点,要TK开通TUN/PPP,然后安装,可能还遇到一些莫名的问题。
虽然我也用VPN,但是个人认为,VPN也有他麻烦的地方,就是每连接一次QQ都要重登陆下,还有输入验证码,这点,还不如SSH方便。而且,相对于VPN,SSH账号更加容易在VPS上添加,对于手上有VPS的朋友,想偶尔用下代理的话,您可以直接用root用户和密码连接;如果您流量太多用不完,想顺便提供SSH账号给朋友用,或者给网友用,您不妨留意下面的文字。
ssh
我们提供给别人免费SSH账号,安全问题是最重要的,自然不能给root密码(O(∩_∩)O),那么,如何在VPS上开设只有代理权限的SSH账号呢?很简单,两行命令帮助您!
useradd -M -s /sbin/nologin -n username (蓝色用户名自行修改)
#这一行是添加一个最低权限的用户
passwd username
#这一行是设定该用户密码
下面,输入2次密码,就OK了,一个仅有代理权限的SSH账号就完成了。
1,增加一个linux用户,并赋予该用户一个nologin的shell权限。
useradd username -s /sbin/nologin
2,设置该用户密码。
passwd username
3,如果需要经常建立这种账户的话,建立一个脚本方便自己的操作。
通过ssh终端root权限连接到vps后输入:
vi ssh.sh
编辑一个sh文件
打开后,按 i 键进入编辑模式。
然后将下面内容复制进去(终端内点下鼠标右键即可复制)
#!/bin/bash
cat >> /etc/shells << END
/sbin/nologin
END
useradd $1 -s /sbin/nologin
echo $1:$2 | chpasswd
然后保存退出编辑模式。
这样,输入下面命令就可以方便建立ssh代理帐号:
bash ssh.sh username password
username和password就是你自己要设置的帐号和对应的密码,可以替换。
上面脚本中$1,就是对应的username,$2,就是对应的password
$0哪里去了?ssh.sh即是也。
$1,$2,$0,是bash脚本中约定的参数标志,分别表示第几个参数。

没有评论:

发表评论