本文介绍在配置 WireGuard 过程中可能会需要的 Ubuntu 命令。
现在一般通过 ssh 登录服务器,需要输入类似 ssh [email protected]
这样,然后再输入密码登录,其实可以结合公钥/私钥登录方式,把登录服务器的步骤简化为只要在终端界面输入 wgl
就可以快速完成,下面介绍实现的办法,
- 在本地生成公私钥:命令:
ssh-keygen
,密钥存储位置:~/.ssh
。 - 把本地公钥发送到服务器,命令:
ssh-copy-id [email protected]
,点 yes ,然后输入密码,会登录进去,把本地公钥上传到服务器,目录:~/.ssh/autohorized_keys
- 然后执行
ssh [email protected]
就可以免密码登录远程服务器。、 - 还可以添加
alias wgl ='ssh [email protected]'
到~/.bashrc
文件,执行source ~/.bashrc
使其生效,之后就能用快捷方式wgl
登录。
从本地机或服务器发起心跳线,保持连接 SSH 服务器不掉线。以下两种方法使用一种就可以。
-
从服务器经常连接本地机,编辑服务器文件
/etc/ssh/sshd_config
,添加下面两行设置。ClientAliveInterval 30
ClientAliveCountMax 6
表示每隔30秒,向本地发出一次心跳。若超过6次请求没有发送成功,则断开与本地的连接。
-
从不本地机经常连接服务器,编辑本地文件
/etc/ssh/ssh_config
,添加下面两行设置。ServerAliveInterval 20
ServerAliveCountMax 999
表示每隔20秒,向服务器发出一次心跳。若超过999次请求没有发送成功,则断开与服务器端的连接。
sudo vi /etc/hostname
sudo vi /etc/hosts
查看内核版本:uname -r
最新内核:https://www.kernel.org/
查看系统中软件包 nano 的状态, 支持模糊查询:( l 的意思是 list )
$ dpkg -l nano
查看软件包 nano 的详细信息:
$ dpkg -s nano
查询系统中属于 nano 的文件:
$ dpkg-query -L nano
查看:dpkg -l|grep wireg
卸载:sudo apt-get remove --purge wireguard-tools
复制本地配置文件到服务器:scp private.key public.key wg0.conf [email protected]:/etc/wireguard/
-
解决 vi 方向键乱码问题
sudo gedit /etc/vim/vimrc.tiny
- 删除:
set compatible
- 添加:
set nocompatible
- 添加:
set backspace=2
- 删除:
-
查看文件中指定的行:
sed -n "5,9p" SpecialVariable.sh
-
命令行比较两个文件的差别:
cmp testfile testfile1
设置服务器开机自动执行 wg :在服务器 /etc/rc.local 文件 exit 0 之前添加 wg-quick up wg0 。
- 外围配置:
/etc/resolv.conf
- 内核配置:
/etc/systemd/resolvd.conf
- 重启服务:
systemctl restart systemd-resolved
- 查看配置:
systemd-resolve --status
执行 curl zx2c4.com/ip
,如果 curl 还没有安装,可执行安装命令:sudo apt install curl
。
执行后会显示一个 ip 地址,比如:118.73.57.44
。这表示,外部世界收集到你此时使用到的是这个 ip 地址 。
- 查看端口:
sudo ufw status
- 查看端口规则:
sudo iptables -L
- 查看远程端口是否开启:
nc -zv 192.168.1.1 22
- 查看本机所有开放的端口:
netstat -ln
,sudo netstat -ntlp | grep LISTEN
路由检查:mtr 127.0.0.1
启动 IPv4 内核转发:sysctl net.ipv4.ip_forward=1
使电脑启动后内核转发自动运行,需在 /etc/sysctl.conf
添加 net.ipv4.ip_forward = 1
。更改后使配置立即生效: sudo sysctl -p
,查看是否已经生效:sudo sysctl net.ipv4.ip_forward
,显示 1 为生效。
也可以查看 /proc/sys/net/ipv4/ip_forward
,值为 0 禁止,1 启用。
显示处于活动状态的套接字信息:ss -tnlu
可用于检查是否翻墙成功:curl google.com