AWS+SSH使用笔记
使用云服务器加shadowsocks的教程已经有很多了,但是实际用起来还是有一些坑的,写一下自己具体是怎么配置的,帮大家避一下坑吧。
准备
首先需要注册一个AWS的免费账户,AWS的服务不需要翻墙直接可以使用,除了有些时候有点卡。这里有一点需要注意一下就是支付方式好像必须使用支持国际支付的银行卡,我用银联卡试了一下好像不可以。注册以后我们使用免费的账户就好了不需要进行支付。
免费套餐每月有750小时的使用时间,所以挂到那一直开着shadowsocks的服务是没有问题的。
创建虚拟主机并连接
创建账户的具体步骤按照说明进行就好,创建好了会进入AWS控制台。然后点击启动虚拟机
这里我使用了EC2实例,然后命名自己的实例名称,选择操作系统,选择实例类型(免费的就一种也没得选),创建密钥对,注意好好保存密钥对,秘钥一经丢失无法恢复!配置过程大概一分多钟,这是我的整个实例配置:
配置好了以后转到EC2控制台,可以看到这是我们刚才创建的实例,当然你也可以在右上角选择不同地区的主机进行创建:
现在使用ssh服务远程连接我们的实例,可是使用浏览器直接连接Java SSH,但是在chrome上该功能不可用。所以我使用linux的ssh服务直接连接,其他操作系统或平台的连接方法请查看官方文档。
需要注意的是秘钥必须不可见才能够进行连接,所以使用chmod命令更改刚才下载的秘钥文件属性:
chmod 400 Downloads/alex-aws-ssh.pem
然后使用下面的命令进行连接:
ssh -i Downloads/alex-aws-ssh.pem ubuntu@ ec2-18-219-152-145.us-east-2.compute.amazonaws.com
注意前面的秘钥地址替换为自己本地的地址,@后面的公网DNS使用EC2控制台看到的公有DNS。
这里可以看到我们已经连接上了远端的电脑。
在远端服务器配置ssh服务
首先安装shadowsocks服务,初始化的需要安装python和pip。先运行以下代码:
sudo apt-get install python python-pip
然后安装Shadowsocks:
pip install shadowsocks
然后创建并编辑shadowsocks的配置文件:
sudo mkdir /etc/shadowsocks
sudo vim /etc/shadowsocks/config.json
在配置文件内写入下列参数并保存:
{
"server":"0.0.0.0",
"server_port":2333,
"local_port":1080,
"password":"12345678",
"timeout":600,
"method":"aes-256-cfb",
"fast_open":false
}
然后执行命令:
sudo ssserver -c /etc/shadowsocks/config.json -d start
如果出现错误sudo: ssserver: command not found
按下列步骤执行后在运行上面的命令即可:
1. 编辑文件/etc/sudoers
:
sudo vim /etc/sudoers
- 找到
Defaults env_reset
, 将其改为Defaults !env_reset
,然后wq!强制保存退出。 - 编辑用户配置文件
~/.bashrc
:
vim ~/.bashrc
在文件最后添加:
alias sudo='sudo env PATH=$PATH'
最后使配置文件生效即可
source ~/.bashrc
- 执行命令:
sudo ssserver -c /etc/shadowsocks/config.json -d start
看到下面这样即为启动成功:
还需要最后一步即可完成配置:
打开AWS的EC2控制台选择你当前配置的实例在下方点击安全组
然后编辑下方的入站规则,添加我们刚才写入配置文件的服务器端口2333
并保存,来源选择任何位置,也可以根据自身情况设定:
本地端连接
使用shadowsocks的软件即可进行连接,下面是各个版本客户端的下载地址。
linux版:https://github.com/shadowsocks/shadowsocks-qt5 (deepin可直接在商店下载)
Windows版:https://github.com/shadowsocks/shadowsocks-windows
Android版:https://github.com/shadowsocks/shadowsocks-android
iOS版:本人使用的是Shadowrocket
下图是是Linux下的配置信息:
延迟测试大概200多:
注意:服务器地址最好填写公有DNS,因为公有IP是动态分配的。
注意
如果在pip install时候报错:unsupported locale setting,更改一下语言环境配置即可:
locale
可以看到是UTF-8格式的:
ubuntu@ip-172-31-39-199:~$ locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
ubuntu@ip-172-31-39-199:~$
输入:
export LC_ALL=C
即可解决问题