linux搭建ss服务器
安装pip:
$ sudo apt install python-pip
安装ss:
$ sudo pip install shadowsocks
启动脚本:
创建一个名为ssstart.sh的脚本
并给予可执行权限
$ touch ssstart.sh
$ chmod +x ssstart.sh
#!/bin/bash
ssserver -s 要监听的IP地址 -p 要监听的端口 -k 连接用的密码 -m 加密方式 -t 连接超时时间 &
选项 | 参数 | 参数说明 —-|—–|——- -s | 要监听的ip地址 | 默认为0.0.0.0 即为所有网卡的IP地址创建监听的端口 -p | 要监听的端口 | 默认为8388 可修改为其他端口 -k | 密码 | 指定连接本ss服务器需要的密码 -m | 加密方式 | 默认为aes-256-cfb -t | 毫秒 | 指定连接最大超时时间
例如:
ssserver -s 0.0.0.0 -p 8808 -k 12345678 -m aes-256-cfb -t 600 &
启动:
以root权限执行脚本就可以启动ss
# bash ssstart.sh
关闭:
# ps aux | grep ssserver # 自行找到ssserver的pid
# kill ssserver的pid
启动出错的解决方法:
如果出现类似错误:
File “/usr/local/lib/python2.7/dist-packages/shadowsocks/crypto/openssl.py”, line 52, in load_openssl
libcrypto.EVP_CIPHER_CTX_cleanup.argtypes = (c_void_p,)
File “/usr/lib/python2.7/ctypes/init.py”, line 375, in getattr
func = self.getitem(name)
File “/usr/lib/python2.7/ctypes/init.py”, line 380, in getitem
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /usr/lib/x86_64-Linux-gnu/libcrypto.so.1.1: undefined symbol: EVP_CIPHER_CTX_cleanup
原因:
安装了较新的openssl1.10
解决:
使用文本编辑器打开 /usr/local/lib/python2.7/site-packages/shadowsocks/crypto/openssl.py
# vim /usr/local/lib/python2.7/site-packages/shadowsocks/crypto/openssl.py
搜索找到以下行:
libcrypto.EVP_CIPHER_CTX_cleanup.argtypes = (c_void_p,)
libcrypto.EVP_CIPHER_CTX_cleanup(self._ctx)
并分别修改为:
将cleanup替换为reset
libcrypto.EVP_CIPHER_CTX_reset.argtypes = (c_void_p,)
libcrypto.EVP_CIPHER_CTX_reset(self._ctx)
启动,成功.