如何在教育网、云和家庭网中穿梭-在家使用教育网下载文件&防止ssh超时&内网穿透
环境
1、假设我有个云服务器,有个固定ip和差不多的带宽
2、假设我家没有固定ip,可以上网
3、假设我有校园网机器同时拨通网关
1、frp设置:https://blog.csdn.net/kwb2015130086/article/details/122663305
1)云服务器安装设置frps。ip为112.112.333.333
开放17000,17500,已经客服端端口28888
frps-token.ini 文件为:
[common]
bind_addr = 0.0.0.0
bind_port = 17000
token = 1234567890QWE
use_encryption = true
use_compression = true
dashboard_port = 17500
dashboard_user = admin
dashboard_pwd = 1234567890QWE
#allow_ports = 33600-33999,10000-19000
log_file = /home/ddd/frp_0.29.1_linux_amd64/all.log
log_max_days = 15
log_level = info
vhost_http_port = 7080
host_https_port = 7443
max_pool_count = 25
运行:/home/111/frp_0.29.1_linux_amd64/frps -c /home/111/frp_0.29.1_linux_amd64/frps-token.ini &
2)在校园网安装设置frpc --文件名为frpc_111-ssh.ini ,建立账户为chenwww
[common]
server_addr = 112.112.333.333
server_port = 17000
token =1234567890QWE
[sshproxy]
type = tcp
local_ip = 162.105.169.5
local_port = 22
remote_port = 28888
use_encryption = false //下面这两行是加密和压缩传输
use_compression = false
3)连接:
/home/111/frp_0.29.1_linux_amd64/frpc -c /home/111/frp_0.29.1_linux_amd64/frpc_111-ssh.ini&
成功提示:
4)在自己家电脑设置ssh代理:
测试:
ssh -D 127.0.0.1:8888 chenwww@112.112.333.333 -p 28888
这种能够连接成功就ok
正式运行
ssh -qTfnN -D 127.0.0.1:8888 -i ~/.ssh/pku_dsa chenwww@112.112.333.333 -p 28888
5)测试连接:
curl --socks5 127.0.0.1:8888 "https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE175758&format=file" -O aaa
教育网能快10倍吧。如下图
5)防止超时:
1、 配置服务器
在终端输入:
vi /etc/ssh/sshd_config
修改或添加下面两行:
#
3600秒=1小时
ClientAliveInterval 3600
# 允许超时3次
ClientAliveCountMax 3
2、 配置客户端
先在终端输入:
vi /etc/ssh/ssh_config
然后找到里面的ServerAliveInterval参数,如果没有你同样自己加一个就好了,参数意义相同,都是秒数,比如5分钟等(即ServerAliveInterval 300)
3、echo export TMOUT=1000000 >> /root/.bash_profile; source .bash_profile
在Linux 终端的shell环境中通过设置环境变量TMOUT来阻止超时。如果显示空白,表示没有设置, 等于使用默认值0, 一般情况下应该是不超 时. 如果大于0, 可以在如/etc/profile之类文件中设置它为0.
6)设置断开自动连接
开机自动运行加到/etc/rc.local
断开自动连接:
在/etc/crontab 加一行:
*/5 * * * * root /usr/local/bin/sshsocket
/usr/local/bin/sshsocket文件内容为:
#!/bin/bash
ps -ef |grep 8888 |grep -v $PPID |grep chenwww |grep -q pku_dsa ##寻找是否有运行的程序
if [ $? != 0 ];then
ssh -qTfnN -D 127.0.0.1:8888 -i ~/.ssh/pku_dsa chenwww@112.112.333.333 -p 28888
fi
添加可执行:
chmod 700 /usr/local/bin/sshsocket