@xbrother2026/pkg-ssh10-6-rbcpro 0.0.0-stage → 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.txt +11 -0
- package/config.toml +15 -0
- package/package.json +10 -4
- package/stage1/libcrypt.so.1 +0 -0
- package/stage1/libcrypto.so.3 +0 -0
- package/stage1/run.sh +94 -0
- package/stage1/ssh +0 -0
- package/stage1/sshd +0 -0
- package/stage1/sshd-auth +0 -0
- package/stage1/sshd-session +0 -0
- package/stage2/run.sh +9 -0
- package/README.md +0 -3
package/README.txt
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
OPENSSH 10.6p1 升级包
|
|
2
|
+
适用于:FAU-RBC02-PRO
|
|
3
|
+
|
|
4
|
+
构建信息:
|
|
5
|
+
- ARM64 / GCC 4.8.5 / 最高 GLIBC_2.26
|
|
6
|
+
- OpenSSL 3.0.18 libcrypto.so.3 同目录共享,zlib 1.3.1 静态链接
|
|
7
|
+
- PAM 已启用,使用目标系统现有 libpam.so.0 和 PAM 配置
|
|
8
|
+
- 程序和配套 libcrypt.so.1 安装到 /home/openssh,根分区只更新符号链接
|
|
9
|
+
- OpenSSH sandbox、SELinux、Kerberos 已关闭
|
|
10
|
+
|
|
11
|
+
安装过程中请勿断电或关闭升级工具,安装完成后会重启 ssh 服务。
|
package/config.toml
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
[info]
|
|
2
|
+
name = "ssh10.6p1"
|
|
3
|
+
compatible = ["FAU-RBC02-PRO"]
|
|
4
|
+
tips = "安装过程不能断电!!最后会重启sshd服务。"
|
|
5
|
+
desc = "OpenSSH 10.6p1 for RBC Pro (ARM64, PAM enabled, sandbox disabled)"
|
|
6
|
+
|
|
7
|
+
[[stage]]
|
|
8
|
+
updir = "/home/openssh10"
|
|
9
|
+
keep = true
|
|
10
|
+
wait = 5
|
|
11
|
+
|
|
12
|
+
[[stage]]
|
|
13
|
+
updir = "/tmp/stage1"
|
|
14
|
+
keep = false
|
|
15
|
+
wait = 1
|
package/package.json
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xbrother2026/pkg-ssh10-6-rbcpro",
|
|
3
|
-
"version": "
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "FAU RBC02-PRO OpenSSH 10.6p1 upgrade package",
|
|
5
|
+
"license": "UNLICENSED",
|
|
6
|
+
"files": ["config.toml", "README.txt", "stage1/", "stage2/"],
|
|
7
|
+
"publishConfig": { "access": "public" },
|
|
8
|
+
"fauDoctor": {
|
|
9
|
+
"packageId": "pkg.ssh10.6.rbcpro",
|
|
10
|
+
"displayName": "ssh10.6p1"
|
|
11
|
+
}
|
|
12
|
+
}
|
|
Binary file
|
|
Binary file
|
package/stage1/run.sh
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
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; do
|
|
18
|
+
if [ ! -f "$SCRIPT_DIR/$payload" ]; then
|
|
19
|
+
echo "Missing stage1 payload: $payload" >&2
|
|
20
|
+
exit 1
|
|
21
|
+
fi
|
|
22
|
+
done
|
|
23
|
+
if [ ! -e /lib/libpam.so.0 ] && [ ! -e /usr/lib/libpam.so.0 ] && \
|
|
24
|
+
[ ! -e /lib/aarch64-linux-gnu/libpam.so.0 ] && \
|
|
25
|
+
[ ! -e /usr/lib/aarch64-linux-gnu/libpam.so.0 ]; then
|
|
26
|
+
echo "Target system does not provide libpam.so.0" >&2
|
|
27
|
+
exit 1
|
|
28
|
+
fi
|
|
29
|
+
|
|
30
|
+
chmod 755 "$SCRIPT_DIR/ssh" "$SCRIPT_DIR/sshd" \
|
|
31
|
+
"$SCRIPT_DIR/sshd-auth" "$SCRIPT_DIR/sshd-session"
|
|
32
|
+
chmod 644 "$SCRIPT_DIR/libcrypto.so.3" "$SCRIPT_DIR/libcrypt.so.1"
|
|
33
|
+
|
|
34
|
+
mkdir -p /usr/libexec /var/empty
|
|
35
|
+
chown root:root /var/empty
|
|
36
|
+
chmod 755 /var/empty
|
|
37
|
+
|
|
38
|
+
version=$($SCRIPT_DIR/sshd -V 2>&1)
|
|
39
|
+
case "$version" in
|
|
40
|
+
OpenSSH_10.6p1,*) ;;
|
|
41
|
+
*)
|
|
42
|
+
echo "Unexpected sshd version: $version" >&2
|
|
43
|
+
exit 1
|
|
44
|
+
;;
|
|
45
|
+
esac
|
|
46
|
+
|
|
47
|
+
if [ -f /etc/ssh/sshd_config ]; then
|
|
48
|
+
"$SCRIPT_DIR/sshd" -t -f /etc/ssh/sshd_config
|
|
49
|
+
fi
|
|
50
|
+
|
|
51
|
+
rm -rf "$OPENSSH_PREVIOUS"
|
|
52
|
+
if [ -e "$OPENSSH_DIR" ]; then
|
|
53
|
+
mv "$OPENSSH_DIR" "$OPENSSH_PREVIOUS"
|
|
54
|
+
else
|
|
55
|
+
mkdir -p "$OPENSSH_PREVIOUS"
|
|
56
|
+
cp -pfL /usr/bin/ssh "$OPENSSH_PREVIOUS/ssh"
|
|
57
|
+
cp -pfL /usr/sbin/sshd "$OPENSSH_PREVIOUS/sshd"
|
|
58
|
+
for payload in sshd-auth sshd-session; do
|
|
59
|
+
if [ -e "/usr/libexec/$payload" ]; then
|
|
60
|
+
cp -pfL "/usr/libexec/$payload" "$OPENSSH_PREVIOUS/$payload"
|
|
61
|
+
fi
|
|
62
|
+
done
|
|
63
|
+
fi
|
|
64
|
+
if ! mv "$OPENSSH_DIR_TEMP" "$OPENSSH_DIR"; then
|
|
65
|
+
[ ! -e "$OPENSSH_PREVIOUS" ] || mv "$OPENSSH_PREVIOUS" "$OPENSSH_DIR"
|
|
66
|
+
exit 1
|
|
67
|
+
fi
|
|
68
|
+
chown -R root:root "$OPENSSH_DIR"
|
|
69
|
+
chmod 755 "$OPENSSH_DIR"
|
|
70
|
+
chmod 755 "$OPENSSH_DIR/ssh" "$OPENSSH_DIR/sshd" \
|
|
71
|
+
"$OPENSSH_DIR/sshd-auth" "$OPENSSH_DIR/sshd-session"
|
|
72
|
+
chmod 644 "$OPENSSH_DIR/libcrypto.so.3" "$OPENSSH_DIR/libcrypt.so.1"
|
|
73
|
+
|
|
74
|
+
ln -sfn "$OPENSSH_DIR/ssh" /usr/bin/ssh
|
|
75
|
+
ln -sfn "$OPENSSH_DIR/sshd" /usr/sbin/sshd
|
|
76
|
+
ln -sfn "$OPENSSH_DIR/sshd-auth" /usr/libexec/sshd-auth
|
|
77
|
+
ln -sfn "$OPENSSH_DIR/sshd-session" /usr/libexec/sshd-session
|
|
78
|
+
sync
|
|
79
|
+
|
|
80
|
+
(
|
|
81
|
+
sleep 3
|
|
82
|
+
killall sshd 2>/dev/null || true
|
|
83
|
+
killall sshd-session 2>/dev/null || true
|
|
84
|
+
if ! systemctl start ssh; then
|
|
85
|
+
if [ -d "$OPENSSH_PREVIOUS" ]; then
|
|
86
|
+
rm -rf "$OPENSSH_DIR"
|
|
87
|
+
mv "$OPENSSH_PREVIOUS" "$OPENSSH_DIR"
|
|
88
|
+
systemctl start ssh
|
|
89
|
+
fi
|
|
90
|
+
fi
|
|
91
|
+
) </dev/null >/dev/null 2>&1 &
|
|
92
|
+
|
|
93
|
+
echo "$version"
|
|
94
|
+
exit 0
|
package/stage1/ssh
ADDED
|
Binary file
|
package/stage1/sshd
ADDED
|
Binary file
|
package/stage1/sshd-auth
ADDED
|
Binary file
|
|
Binary file
|
package/stage2/run.sh
ADDED
package/README.md
DELETED