47 lines
816 B
Bash
47 lines
816 B
Bash
#!/usr/bin/env bash
|
||
|
||
set -e
|
||
|
||
SSHD_CONFIG="/etc/ssh/sshd_config"
|
||
|
||
echo "== 开启 X11 Forwarding =="
|
||
|
||
# 备份
|
||
if [ ! -f ${SSHD_CONFIG}.bak ]; then
|
||
sudo cp $SSHD_CONFIG ${SSHD_CONFIG}.bak
|
||
fi
|
||
|
||
# 修改函数(不用 sed -i)
|
||
set_config() {
|
||
KEY=$1
|
||
VALUE=$2
|
||
|
||
TMP_FILE=$(mktemp)
|
||
|
||
sudo awk -v key="$KEY" -v val="$VALUE" '
|
||
BEGIN {found=0}
|
||
{
|
||
if ($1 == key || $1 == "#"key) {
|
||
print key" "val
|
||
found=1
|
||
} else {
|
||
print
|
||
}
|
||
}
|
||
END {
|
||
if (found==0) print key" "val
|
||
}
|
||
' $SSHD_CONFIG > $TMP_FILE
|
||
|
||
sudo cp $TMP_FILE $SSHD_CONFIG
|
||
rm -f $TMP_FILE
|
||
}
|
||
|
||
set_config "X11Forwarding" "yes"
|
||
set_config "X11DisplayOffset" "10"
|
||
set_config "X11UseLocalhost" "yes"
|
||
|
||
echo "== 重启 SSH 服务 =="
|
||
sudo systemctl restart ssh
|
||
|
||
echo "== 完成 ==" |