ChenHacker
2019-08-03 23:07:53
markdown出问题了我也不知道为什么
点这里吧
ps:2022.2.2听说有人用ssh在省选赛场上作弊,本人对此表示强烈谴责,用低端技术作弊是非常可耻的!
注:本机使用的环境如下:
[ch66@ch66-pc ~]$ uname -a
Linux ch66-pc 5.3.0-1-MANJARO #1 SMP Mon Jul 22 10:35:15 UTC 2019 x86_64 GNU/Linux
暑假里基本都是机房和home两点一线,每个星期的星期八放假呢.有时候需要传一些文件回家,于是想出一下几个点子:
manjaro linux 默认是没有ssh服务的,所以得手动启动,不过一个命令就可以搞定
sudo systemctl start sshd && sudo systemctl reenable sshd
//前者是启动ssh服务后者是开机自启动ssh服务
ssh [email protected]
如果输出不是:
ssh: connect to host 127.0.0.1: Connection refused
那就代表ssh服务启动成功了,如果有问题请输入yes
一般人都没有公网ip的,所以为了在不同局域网之间相互访问需用用到端口映射技术
但是一般端口映射是需要一台公网服务器的,一些服务商提供付费的端口映射映射服务,如花生壳,不是我说,这东西真的垃圾,这里推荐一款免费好用的端口映射服务:natftp
官网地址:https://www.natfrp.com/
注册帐号并且登录,映射ssh端口,官网有教程这里就不在赘述了。
得到外网地址和端口,我这里是 pc.ch66.cf 和 6514端口
ssh [email protected] -p 6514
//-p 后面是指定的端口号
ftp客户端多如牛毛,这里推荐一款免费好用跨平台的ftp客户端filazilla
中文官网: https://www.filezilla.cn
安装好之后打开是这个样子的: 然后点击点击文件新建一个主机,填入域名和端口用户密码,
终于来到本文的重点了,由于在服务器运行的过程中总是会有一些莫名其妙的错误,比如timeout之类的,或者你想切换一个端口,这个时候natfrp的客户端就不会自动从新连接了,于是我们的文件就得在学校过夜了。
所以我们得用shell脚本来维护这个进程
#!/bin/bash
test_connect() {
nc -v -z www.baidu.com 80
return $?
}
# 这个函数用来测试互联网状态(使用baidu的服务器测试)
wifi_name=("我家的wifi名字" "隔壁的wifi名字")
wifi_password=("我家wifi密码" "隔壁的密码")
# 这里把隔壁的wifi添加到列表主要是防止我家的wifi出锅
cnt=2
try_wifi() {
i=0
while(($i<cnt))
do
nmcli device wifi connect ${wifi_name[$i]} password ${wifi_password[$i]}
test_connect
if test $? -eq 0
then break
fi
i=$i+1
done
}
# 尝试连接wifi列表里的wifi
# 下面是主程序
while(true)
do
echo $(date "+%Y-%m-%d %H:%M:%S")
test_connect
if test $? -eq 1
then
try_wifi
else
echo ok
fi
sleep 3
done
保存为~/sh/wifi.sh
#/!bin/bash
pd() {
nc -v -z pc.ch66.cf 6514
return $?
}
resetservice() {
killall ./Sakura_frpc_linux_amd64
./Sakura_frpc_linux_amd64 --su=你的用户名 --sp=你的密码 --sid=10 &
sleep 5
}
while(true)
do
echo $(date "+%Y-%m-%d %H:%M:%S")
pd
if test $? -eq 1
then
resetservice
fi
sleep 2
done
保存为~/frp/keep_run.sh
以上两个脚本同学们可以自己测试一下
安装nohup工具
debian:
sudo apt install nohup
Arch:
sudo pacman -S yay && yay -S nohup
运行名为test.sh的shell脚本
nohup ./test.sh &
然后test.sh的输出保存在nohup.out文件里
在/etc/rc.local中加入:
/home/ch66/sh/wifi.sh > /home/ch66/sh/log/wifi.log &
/home/ch66/frp/run.sh > /home/ch66/frp/log.txt &
到现在我们的所有工作就已经完成了,每天早上打开电脑自动启动服务,到学校直接传文件,脚本维护永不掉线,爽!