20181129日常——修改SSH端口,配置MTProxy

修改SSH默认端口

自从买了网络服务器之后,每次用XShell登录总是有如下提示信息:

有时候还会出现上万次的暴力破解尝试,内心很是恐慌,遂想到去求助搜索引擎,得到的结果就是修改一下ssh端口,会更安全,于是开始行动。

1.使用vim编辑器编辑SSH访问端口的文件

文件在 /etc/ssh/sshd_config 里面,通过执行命令 vim /etc/ssh/sshd_config 查看配置信息

2.添加需要添加的SSH访问端口

在 sshd_config 文件中有一样注释掉的配置:

#Port = 22

将这一行的注释打开,即去掉行头的#号,之后再其后加上一条自己的SSH端口:

Port = 22222

保存退出;

3.重启SSH服务

service sshd restart

注:如果使用的是类似阿里云的服务器,记得在安全组中开启对应的XXXXX端口。

这样就可以通过设置的端口进行SSH访问。

带新端口可以测试可以访问SSH之后就可以在 sshd_config文件中将原来的22号端口注释掉。

搭建MTProxy服务

MTProxy是TG官方开源的一个TG代理工具,用户可以用来自建代理方便自己使用TG,C语言写一个很轻便的代理软件。废话不多说,贴出github地址:传送门

1.安装(默认已经安装了git)

Debin/Ubuntu:

apt install git curl build-essential libssl-dev zlib1g-dev

CentOS/RHEL:

yum install openssl-devel zlib-devel
yum groupinstall "Development Tools"

从git上克隆文件:

git clone https://github.com/TelegramMessenger/MTProxy
cd MTProxy
make && cd objs/bin

编译完成之后的可执行文件在 obj/bin 文件夹中,名称为: mtproto-proxy 将这个文件移动或者拷贝到你想的位置:

cp mtproto-proxy /opt/MTProxy
或者
mv mtproto-proxy /opt/MTProxy
cd /opt/MTProxy

2.生成配置文件:

使用一下命令获取secret,用来连接TG服务器:

curl -s https://core.telegram.org/getProxySecret -o proxy-secret

其中curl指令为cURL是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。 它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。

用法:

-A/--user-agent <string>              设置用户代理发送给服务器
-b/--cookie <name=string/file>    cookie字符串或文件读取位置
-c/--cookie-jar <file>                    操作结束后把cookie写入到这个文件中
-C/--continue-at <offset>            断点续转
-D/--dump-header <file>              把header信息写入到该文件中
-e/--referer                                  来源网址
-f/--fail                                          连接失败时不显示http错误
-o/--output                                  把输出写到该文件中
-O/--remote-name                      把输出写到该文件中,保留远程文件的文件名
-r/--range <range>                      检索来自HTTP/1.1或FTP服务器字节范围
-s/--silent                                    静音模式。不输出任何东西
-T/--upload-file <file>                  上传文件
-u/--user <user[:password]>      设置服务器的用户和密码
-w/--write-out [format]                什么输出完成后
-x/--proxy <host[:port]>              在给定的端口上使用HTTP代理
-#/--progress-bar                        进度条显示当前的传送状态

通过下面的命令获取proxy-multi.config,TG官方的host,里面存放的是TG官方服务器的地址和端口,官网建议是经常更新这个文件。

curl -s https://core.telegram.org/getProxyConfig -o proxy-multi.conf

通过以下命令生成一个32位的字符串,作为密钥:

head -c 16 /dev/urandom | xxd -ps

3.创建系统服务

创建系统服务有助于对于MTProxy进程的管理,状态的查看已经重启的自动启动服务。

添加和写入文件:

vim /etc/systemd/system/MTProxy.service

写入如下信息:

[Unit]
Description=MTProxy
After=network.target

[Service]
Type=simple
WorkingDirectory=/opt/MTProxy
ExecStart=/opt/MTProxy/mtproto-proxy -u nobody -p 8888 -H 443 -S <secret> --aes-pwd proxy-secret proxy-multi.conf -M 1
Restart=on-failure

[Install]
WantedBy=multi-user.target

其中<secret>为上述产生的32位密钥

8888位内部查看服务状态的端口

443位客户端连接用的端口

nobody为当前登录的用户名

注意如果没有执行文件移动的操作,就使用自己的文件路径,而且必须相对路径,不能含有~这类符号,如果需要根目录的使用/root。

保存MTProxy.service之后重载一下systemctl,随后启动服务并查看状态:

systemctl daemon-reload
systemctl restart MTProxy.service
//查看一下服务状态
systemctl status MTProxy.service

注意:如果使用的是诸如阿里云等国内的服务器提供商,会有一个内部IP地址,这时候可能出现配置完成还是不发链接的问题,需要写入MTProxy.serviec文件的时候修改如下:

[Unit]
Description=MTProxy
After=network.target

[Service]
Type=simple
WorkingDirectory=/opt/MTProxy
ExecStart=/opt/MTProxy/mtproto-proxy -u nobody -p 8888 -H 443 -S <secret> --nat-info <内网地址>:<外网地址> --aes-pwd proxy-secret proxy-multi.conf -M 1
Restart=on-failure

[Install]
WantedBy=multi-user.target

 参考链接

posted @ 2018-11-29 20:06  ZITWorld  阅读(1171)  评论(0编辑  收藏  举报