@xbrother2026/pkg-ssh10-5-rbc02 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/README.txt +14 -0
- package/config.toml +20 -0
- package/package.json +12 -0
- package/stage1/run.sh +19 -0
- package/stage2/libatomic.so.1 +0 -0
- package/stage2/libcrypt.so.1 +0 -0
- package/stage2/libcrypto.so.3 +0 -0
- package/stage2/run.sh +82 -0
- package/stage2/ssh +0 -0
- package/stage2/sshd +0 -0
- package/stage2/sshd-auth +0 -0
- package/stage2/sshd-session +0 -0
- package/stage3/run.sh +9 -0
package/README.md
ADDED
package/README.txt
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
OPENSSH 10.5p1 升级包
|
|
2
|
+
适用于:RBC02 / 彩虹C02 电池网关、资产条网关
|
|
3
|
+
|
|
4
|
+
构建信息:
|
|
5
|
+
- ARMv5TE soft-float
|
|
6
|
+
- GCC 4.8.5
|
|
7
|
+
- OpenSSL 3.0.18 libcrypto.so.3 同目录共享,zlib 1.3.1 静态链接
|
|
8
|
+
- 随包提供 libatomic.so.1 和 libcrypt.so.1
|
|
9
|
+
- 程序与私有库安装到 /home/openssh,根分区只更新符号链接
|
|
10
|
+
- OpenSSH sandbox、PAM、SELinux、Kerberos 已关闭
|
|
11
|
+
- 目标程序最高使用 GLIBC_2.18 符号,并随包提供 libcrypt.so.1
|
|
12
|
+
|
|
13
|
+
安装说明:
|
|
14
|
+
升级完成后会延迟重启 sshd。升级过程中请勿断电或关闭升级工具。
|
package/config.toml
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
[info]
|
|
2
|
+
name = "ssh10.5p1"
|
|
3
|
+
compatible = ["FAU-C3000-PHY", "FAU-C3000-RJ45", "FAU-G3000", "FAU-A3000", "FAU-C3000-CN", "FAU-G3000-CN", "FAU-A3000-CN"]
|
|
4
|
+
tips = "安装过程不能断电!!最后会重启sshd服务。"
|
|
5
|
+
desc = "OpenSSH 10.5p1 for RBC02 (ARMv5, sandbox disabled)"
|
|
6
|
+
|
|
7
|
+
[[stage]]
|
|
8
|
+
updir = "/tmp/stage1"
|
|
9
|
+
keep = false
|
|
10
|
+
wait = 2
|
|
11
|
+
|
|
12
|
+
[[stage]]
|
|
13
|
+
updir = "/home/openssh10"
|
|
14
|
+
keep = true
|
|
15
|
+
wait = 5
|
|
16
|
+
|
|
17
|
+
[[stage]]
|
|
18
|
+
updir = "/tmp/stage1"
|
|
19
|
+
keep = false
|
|
20
|
+
wait = 1
|
package/package.json
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@xbrother2026/pkg-ssh10-5-rbc02",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "FAU RBC02 OpenSSH 10.5p1 upgrade package",
|
|
5
|
+
"license": "UNLICENSED",
|
|
6
|
+
"files": ["config.toml", "README.txt", "stage1/", "stage2/", "stage3/"],
|
|
7
|
+
"publishConfig": { "access": "public" },
|
|
8
|
+
"fauDoctor": {
|
|
9
|
+
"packageId": "pkg.ssh10.5.rbc02",
|
|
10
|
+
"displayName": "ssh10.5p1"
|
|
11
|
+
}
|
|
12
|
+
}
|
package/stage1/run.sh
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
set -eu
|
|
3
|
+
|
|
4
|
+
PASSWD_ROOT="Xbrother@136"
|
|
5
|
+
SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
|
|
6
|
+
SCRIPT_PATH="$SCRIPT_DIR/$(basename -- "$0")"
|
|
7
|
+
OPENSSH_DIR_TEMP="/home/openssh10"
|
|
8
|
+
|
|
9
|
+
if [ "$(id -u)" -ne 0 ]; then
|
|
10
|
+
echo "Not running as root, switching to root using su..."
|
|
11
|
+
printf '%s\n' "$PASSWD_ROOT" | su -c "sh '$SCRIPT_PATH'" root
|
|
12
|
+
exit $?
|
|
13
|
+
fi
|
|
14
|
+
|
|
15
|
+
rm -rf "$OPENSSH_DIR_TEMP"
|
|
16
|
+
mkdir -p "$OPENSSH_DIR_TEMP"
|
|
17
|
+
chown xbrother:xbrother "$OPENSSH_DIR_TEMP"
|
|
18
|
+
chmod 755 "$OPENSSH_DIR_TEMP"
|
|
19
|
+
echo "Prepared $OPENSSH_DIR_TEMP"
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/stage2/run.sh
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
set -eu
|
|
3
|
+
|
|
4
|
+
PASSWD_ROOT="Xbrother@136"
|
|
5
|
+
SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
|
|
6
|
+
SCRIPT_PATH="$SCRIPT_DIR/$(basename -- "$0")"
|
|
7
|
+
OPENSSH_DIR_TEMP="/home/openssh10"
|
|
8
|
+
OPENSSH_DIR="/home/openssh"
|
|
9
|
+
OPENSSH_PREVIOUS="/home/openssh.previous"
|
|
10
|
+
|
|
11
|
+
if [ "$(id -u)" -ne 0 ]; then
|
|
12
|
+
echo "Not running as root, switching to root using su..."
|
|
13
|
+
printf '%s\n' "$PASSWD_ROOT" | su -c "sh '$SCRIPT_PATH'" root
|
|
14
|
+
exit $?
|
|
15
|
+
fi
|
|
16
|
+
|
|
17
|
+
for payload in ssh sshd sshd-auth sshd-session libcrypto.so.3 libcrypt.so.1 \
|
|
18
|
+
libatomic.so.1; do
|
|
19
|
+
if [ ! -f "$SCRIPT_DIR/$payload" ]; then
|
|
20
|
+
echo "Missing stage2 payload: $payload" >&2
|
|
21
|
+
exit 1
|
|
22
|
+
fi
|
|
23
|
+
done
|
|
24
|
+
chmod 755 "$SCRIPT_DIR/ssh" "$SCRIPT_DIR/sshd" \
|
|
25
|
+
"$SCRIPT_DIR/sshd-auth" "$SCRIPT_DIR/sshd-session"
|
|
26
|
+
chmod 644 "$SCRIPT_DIR/libcrypto.so.3" "$SCRIPT_DIR/libcrypt.so.1" \
|
|
27
|
+
"$SCRIPT_DIR/libatomic.so.1"
|
|
28
|
+
|
|
29
|
+
mkdir -p /usr/libexec /var/empty
|
|
30
|
+
chown root:root /var/empty
|
|
31
|
+
chmod 755 /var/empty
|
|
32
|
+
|
|
33
|
+
version=$($SCRIPT_DIR/sshd -V 2>&1)
|
|
34
|
+
case "$version" in
|
|
35
|
+
OpenSSH_10.5p1,*) ;;
|
|
36
|
+
*)
|
|
37
|
+
echo "Unexpected sshd version: $version" >&2
|
|
38
|
+
exit 1
|
|
39
|
+
;;
|
|
40
|
+
esac
|
|
41
|
+
|
|
42
|
+
if [ -f /etc/ssh/sshd_config ]; then
|
|
43
|
+
"$SCRIPT_DIR/sshd" -t -f /etc/ssh/sshd_config
|
|
44
|
+
fi
|
|
45
|
+
|
|
46
|
+
rm -rf "$OPENSSH_PREVIOUS"
|
|
47
|
+
if [ -e "$OPENSSH_DIR" ]; then
|
|
48
|
+
mv "$OPENSSH_DIR" "$OPENSSH_PREVIOUS"
|
|
49
|
+
fi
|
|
50
|
+
if ! mv "$OPENSSH_DIR_TEMP" "$OPENSSH_DIR"; then
|
|
51
|
+
[ ! -e "$OPENSSH_PREVIOUS" ] || mv "$OPENSSH_PREVIOUS" "$OPENSSH_DIR"
|
|
52
|
+
exit 1
|
|
53
|
+
fi
|
|
54
|
+
chown -R root:root "$OPENSSH_DIR"
|
|
55
|
+
chmod 755 "$OPENSSH_DIR"
|
|
56
|
+
chmod 755 "$OPENSSH_DIR/ssh" "$OPENSSH_DIR/sshd" \
|
|
57
|
+
"$OPENSSH_DIR/sshd-auth" "$OPENSSH_DIR/sshd-session"
|
|
58
|
+
chmod 644 "$OPENSSH_DIR/libcrypto.so.3" "$OPENSSH_DIR/libcrypt.so.1" \
|
|
59
|
+
"$OPENSSH_DIR/libatomic.so.1"
|
|
60
|
+
|
|
61
|
+
ln -sfn "$OPENSSH_DIR/sshd" /usr/sbin/sshd
|
|
62
|
+
ln -sfn "$OPENSSH_DIR/ssh" /usr/bin/ssh
|
|
63
|
+
ln -sfn "$OPENSSH_DIR/sshd-session" /usr/libexec/sshd-session
|
|
64
|
+
ln -sfn "$OPENSSH_DIR/sshd-auth" /usr/libexec/sshd-auth
|
|
65
|
+
sync
|
|
66
|
+
|
|
67
|
+
(
|
|
68
|
+
sleep 3
|
|
69
|
+
echo "Restarting SSH service..."
|
|
70
|
+
killall sshd 2>/dev/null || true
|
|
71
|
+
killall sshd-session 2>/dev/null || true
|
|
72
|
+
if ! /etc/init.d/S50sshd start; then
|
|
73
|
+
if [ -d "$OPENSSH_PREVIOUS" ]; then
|
|
74
|
+
rm -rf "$OPENSSH_DIR"
|
|
75
|
+
mv "$OPENSSH_PREVIOUS" "$OPENSSH_DIR"
|
|
76
|
+
/etc/init.d/S50sshd start
|
|
77
|
+
fi
|
|
78
|
+
fi
|
|
79
|
+
) </dev/null >/dev/null 2>&1 &
|
|
80
|
+
|
|
81
|
+
echo "$version"
|
|
82
|
+
exit 0
|
package/stage2/ssh
ADDED
|
Binary file
|
package/stage2/sshd
ADDED
|
Binary file
|
package/stage2/sshd-auth
ADDED
|
Binary file
|
|
Binary file
|