本文介绍如何注册 Vultr 云平台账户、创建 PayPal 账户并绑定银行卡、下单购买 Vultr 主机 并部署 Shadowsocks 服务端。
依照本文教程进行 Shadowsocks server 配置时,不需要任何电脑基础,只需要动动你的鼠标。
注册 Vultr 帐号
如果已有 Vultr 帐号,可忽略本节,跳到 下面的“配置支付方式” 。
直接点击打开 Vultr 网站 https://www.vultr.com/?ref=7877027-4F
图 1. Vultr 主页
点击进入后按下图输入邮箱和要设置的密码(最少10位,要同时有数字和大小写字母),最后点击Create Account 注册,。
图 2. 创建 Vultr 帐号
接着进入邮箱,查收确认邮件。
图 3. 到邮箱确认注册
点击邮件中的确认按钮,通过验证并自动登录到 Vultr。
配置支付方式
在购买 VPS 之前,需要配置付款方式,才能进行支付。
支付方式有 3 种:
- 信用卡
- PayPal
- Alipay /支付宝
- Bitcoin
如果没有信用卡或不想使用信用卡的话,可选择 PayPal 或者支付宝。
(2) 或者用 PayPal 。
创建 PayPal 账户
如果已有绑定银行卡的 PayPal 账户,可忽略本节,跳到 “充值到 Vultr”。
PayPal 账户无需实名认证,可以使用银联的借记卡。
注册过程就不细说了,创建一个购物账户,姓名和地址不必真实。
绑定银行卡
注册 PayPal 后,在 “钱包” -> “信用卡和借记卡” 处选择 “关联卡” ,填入卡号和银行卡关联 的手机号。
图 4. 绑定银行卡到 PayPal
接着会收到一条银联的验证短信,填入验证码,完成绑定。
绑定完成后不需要充值到 PayPal,等付款时会自动充值的。
PayPal 付完款后可以随时解除银行卡关联。如要解除绑定,点击 PayPal 关联的银行卡,然后 点击 “移除卡” 即可。
银联卡需要是下面类型之一的才能绑定成功。
- 中国工商银行、中国建设银行、中国农业银行 、中国银行、交通银行、华夏银行、平安银行、 兴业银行、宁波银行、潍坊银行、哈尔滨银行、珠海农信、尧都农信、武汉市商业银行、 晋城市商业银行、顺德农商银行发行的银联借记卡;
- 中国工商银行、中国银行、交通银行、中信银行、招商银行、广东发展银行、浦东发展银行 发行的银联信用卡。
使用银联卡付款前,请您先在银行开通该卡的网上支付功能。
银联卡只能用以进行在线购物。
充值到 Vultr
在创建 Vultr 主机前,需要先充值一定金额到 Vultr 帐号。这里充值 5 美元。
图 5. 用 PayPal 充值到 Vultr 账户
在支付页面,同意并继续。
图 6. 用 PayPal 支付
接着会再要求登入一次 PayPal 账户并填写验证码,完成付款。如果过程中出现任何问题请打下面的客服电话(客服讲中文),输入自己的动态识别码 https://www.paypal.com/selfhelp/contact/call )
创建 Vultr 主机
付款完成后,将自动进入购买主机页面。
图 7. 创建主机
主机配置可参考下表。
项目 | 值 |
---|---|
Server Location | Asia / Singapore |
Server Type | CentOS 7 x64 |
Server Size | 25 GB SSD / 1 CPU / 1024MB Memory / 1000GB Bandwidth |
Additional Features | - |
Startup Script | - |
SSH Keys | - |
Server Hostname & Label | - |
检查配置无误后,点击 “Deploy Now”。
不出意外,将会有一台主机在部署。
图 8. 创建中的主机
连接到主机
点击主机右侧 “…” 展开菜单,选择 “Server Details” 可以看到这台主机的一些信息。包括 这台主机的公网地址(IP Address)、登录用户名(Username)和密码(Password)。 记下这三项,后面所说的登录 VPS 要填写的用户名、密码,就是这一套。
图 9. 主机详细信息
如果你用的电脑是 Linux 或 MacOS 系统。则可以直接用 SSH 连接过去。
ssh root@112.113.114.115
# 输入 yes 接受指纹
# 输入 VPS 主机的密码
将这里 112.113.114.115 替换为 VPS 主机的公网 IP。
如果你用的电脑是 Windows 系统,最好安装 Putty / XShell 这样的工具,或者也可以用 Vultr 提供的网页控制台。
图 10. 打开 Vultr 控制台
在网页控制台,输入 VPS 的用户名和密码。
图 11. Vultr 网页控制台
吐槽一下,这个网页控制台 5 毛水平,连粘贴都不支持。
登录后,会出现命令行界面,比如执行
free -h
能够显示内存占用情况。接下来将在这里执行 命令安装 Docker 并启动 Shadowsocks 服务端。
图 12. Linux 中连接到 VPS
出于安全考虑,截图中 IP 等信息已被遮盖。
配置 Shadowsocks 服务端
和别的教程不一样的是,这里配置服务端,无需下载和运行脚本,也无需修改什么配置文件。只需要 下面两步,就能启动 Shadowsocks 服务端。
安装 Docker
Docker 是一种通用的用于打包、发布、运行应用程序的容器引擎,更多介绍可 查阅 《What is Docker?》。
在线下载 Docker 安装脚本并执行。
curl https://get.docker.com/ | sh
出现下面信息,说明已经安装完成。执行
docker version
可查看版本信息。
图 13. 在 VPS 中安装 Docker
启用 Docker daemon 进程,并加入开机启动项。
systemctl start docker && systemctl enable docker
启动 ssserver
如果想要启动一个 ssserver(即 Shadowsocks server),可以直接运行下面命令。
docker run -d --restart=always \
-p 8388:8388 fanach/ssserver -p 8388 -k abc123
这样,在后台将会有一个 ssserver 的容器在运行。执行
docker ps
查看。
图 14. 启动 Shadowsocks 容器
接着,可以通过服务器地址、端口
8388
、密码 abc123
以及默认加密方式 aes-256-cfb
去连接了,跳到 “客户端连接与验证”。这里端口、密码和加密方式可以自己设置。
命令解释
docker run -d --restart=always \
-p 8388:8388 fanach/ssserver -p 8388 -k abc123
上面那条
docker run
命令执行后,将会做下面事情。- 下载 fanach/ssserver 这个镜像;
- 根据给的端口、密码等参数,在后台运行一个 ssserver 容器。
这里
-d
是指在后台运行。--restart=always
是指在容器发生异常退出时自动重新启动。-p 8388:8388
, 前一个 8388 是称为主机端口,后一个 8388 是称为容器端口。
最后面还有个
-p 8388
是容器中 ssserver 程序的参数,即容器中 ssserver 监听的端口 为 8388。容器端口和 ssserver 监听端口必须相同。-k abc123
为密码。
如果要设定加密方式,可用
-m
参数,如 -m chacha20
。
所有支持的加密方式如下
- aes-128-cfb
- aes-192-cfb
- aes-256-cfb
- aes-128-ctr
- aes-192-ctr
- aes-256-ctr
- des-cfb
- bf-cfb
- cast5-cfb
- rc4-md5
- chacha20
- chacha20-ietf
- salsa20
各种加密方式的区别,需要自己查阅了。
如果需要再启动一个 ssserver ,换一个主机端口,如
8399
,再运行一次命令即可。docker run -d --restart=always \
-p 8399:8388 fanach/ssserver -p 8388 -k abc456
如果对镜像 fanach/ssserver 有兴趣,可到点击 这里 到 DockerHub 查看。 Dockerfile 开源于 fanach/dockerfile-ssserver。
状态查询
基本信息
执行
docker ps -a
可查询所有容器(包括已退出的)的简要信息。第一列为容器 ID。
图 15. Docker 容器
日志查询
执行
docker logs -f
并跟上容器 ID 查询服务端日志。[root@vultr ~]# docker logs -f aaa89aea2169
2017/06/03 12:21:34 server listening port 8388 ...
2017/06/03 12:48:42 creating cipher for port: 8388
流量查询
执行
docker stats
并跟上容器 ID 查询容器资源使用情况。
图 16. 查看容器资源用量
其中
NET I/O
分别为这个 ssserver 容器输入和输出的流量。如果想要查看整个 VPS 流量使用情况,到 Vultr 主机详细信息页面查看。
客户端连接与验证
Android 用户见: 《Android 上使用 Shadowsocks 教程》
iPhone / iPad 用户见: 《iPhone/iPad 上使用 Shadowsocks 教程》
Windows 用户见: 《Windows 上使用 Shadowsocks 教程》
MacBook 用户见: 《Macbook 上使用 Shadowsocks 教程》
Linux 用户见: 《Linux 上使用 Shadowsocks 教程》
其他一些过程记录(拓展部分)
修改密码
如果觉得 Vultr 自动生成的密码太长太复杂不好记。可以修改登录密码。
SSH 进入主机控制台,并运行命令:
$ passwd root
Changing password for root.
Current password: (输入原密码)
New password: (输入新密码)
Retype new password: (再次输入新密码)
修改后的密码自己要牢记,如果遗忘,Vultr 似乎没有办法重置,只能重装 VPS 系统了。
安全配置
尽管修改了密码,使用用户名、密码方式登录主机也并不安全。尤其是在修改密码后,设置了简单 的密码,那更危险了。我第二天登录时,发现有 4000 多次登录失败。假如密码被试对了,那骇客 就可以对这台主机做任何操作了。
Last failed login: Sun Jun 4 15:06:48 UTC 2017 from 61.177.172.56 on ssh:notty
There were 4728 failed login attempts since the last successful login.
一个好的方法是禁用密码登录,而是只使用密钥登录。这里密钥是指用 OpenSSL 工具生成的非对称密钥对。
** 为了安全,推荐禁止密码登录,只允许使用私钥登录。**
添加公钥
生成密钥对,添加公钥到受信任的密钥中,并保留私钥。
$ ssh-keygen
(一路回车,将在 ~/.ssh/ 下生成 id_rsa 和 id_rsa.pub 两个文件,分别为私钥和公钥。)
$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
复制私钥并妥善保存到自己的电脑上。
禁止通过密码登录
$ vi /etc/ssh/sshd_config
# 查找并修改下面两项
PasswordAuthentication no // 禁止使用基于口令认证的方式登陆
PubkeyAuthentication yes // 允许使用基于密钥认证的方式登陆
在执行下面命令之前,确保私钥已经保存到自己的电脑(自己的 Windows / Linux / MacOS 电脑, 而不是 VPS),否则重启 sshd 服务后,将无法通过密码再连接到 VPS,而只能用私钥连接。
$ systemctl restart sshd
# 重启 sshd 服务
假如保存下来的私钥文件名为
id_rsa.vultr
,那后面要通过 SSH 连接 VPS 时,执行下面命令 即可。$ ssh -i id_rsa.vultr root@112.113.114.115
将112.113.114.115
替换为你的 VPS 公网 IP。Windows 用户可下载并学习 XShell 的使用,XShell 实现了 SSH 具有图形化配置界面。
创建 SWAP
为了防止内存溢出导致主机重启,可创建一个 2048M 的 SWAP 文件 /swapfile 。
$ dd if=/dev/zero of=/swapfile bs=1024k count=2048
$ chmod 600 /swapfile
$ mkswap /swapfile
$ swapon /swapfile
Tips
- 如果不是用 root 用户,需要在部分命令之前加上
sudo
。
修改历史
- 2017.08.05 使用 Vultr Affiliate 链接
- 2017.06.17 修复 go 版 ssserver 对安卓不兼容问题(默认镜像改为 fanach/ssserver )。
- 2017.06.08 添加 swap 说明。
- 2017.06.04 添加拓展部分:安全配置。
没有评论:
发表评论