Pages

Saturday, 2 April 2016

在不提供虚拟内存的vps上建立ssh账号的方法

当你购买了一个 VPS ,希望创建一些 SSH 账号送给朋友或者会员,又不希望他们能登陆到 VPS 上的话,就需要用到本文所提及的这个方法。
至于为什么不希望他们通过 SSH 登陆,一是因为能够登陆的账号可能会造成安全隐患,二是因为现在大多用来作 TCP 转发,因而只用于 TCP 转发的根本没有登陆vps的必要。

创建只能作 TCP 转发的 SSH 账号

通过下面这个命令,就可以创建一个只允许 TCP 转发而不允许登陆(交互)的 SSH 账号:
useradd -s /bin/false some_username
(或者useradd -s /sbin/nologin some_username)
通过下面命令来给 username 这个账号设置密码:
passwd some_username

创建允许更改密码以及 TCP 转发但不能登陆的 SSH 账号

更人性化一些,你可能需要允许你的朋友们自己去更改一个便于他们自己记忆的密码。这个时候我们可以让 /usr/bin/passwd 作为他们的 Shell ,这样他们就可以自己修改密码了。
编辑/etc/shells,加入:
/usr/bin/passwd
通过以下命令创建 SSH 账号:
useradd -s /usr/bin/passwd some_username
passwd some_username
-------------------------
我在某家不提供虚拟内存的vps上建立ssh账号的方法就是用上面的粉色文字的方法。
然后在linux desktop os或者mac的终端里,输入:
ssh some_username@ssh-host.com -p ssh_port -D 1081
待输入密码,登陆后,不关闭该终端窗口,然后设置浏览器的socks5代理为127.0.0.1:1081,浏览器即可翻墙。
我之所以要在终端登录而不是在ssh client程序比如ssh tunnel manager中登录,是因为我在ssh client程序比如ssh tunnel manager中,登录老是失败,老是显示reconnecting.估计原因就是vps不提供虚拟内存所造成。所以只好在终端登录,但是用上面的蓝色字体所创建的ssh账号,在终端是登录不了的!所以就只能用上面粉色字体所创建的ssh账号在终端登录了。
当然你不必真的去修改密码,只要登陆成功就行了