update 03
This commit is contained in:
@@ -34,11 +34,13 @@ fi
|
|||||||
# ===== 阶段二:推送公钥到飞牛 NAS =====
|
# ===== 阶段二:推送公钥到飞牛 NAS =====
|
||||||
echo "== [2/2] 推送公钥到飞牛 NAS =="
|
echo "== [2/2] 推送公钥到飞牛 NAS =="
|
||||||
|
|
||||||
# 第一次连接:创建 ~/.ssh 并设置权限(不使用 sudo,不假设 /home)
|
echo "⚠️ 如果是首次登录,可能需要输入飞牛用户密码并确认 host key"
|
||||||
ssh "$USER_NAME@$NAS_IP" << 'EOF'
|
|
||||||
|
# 检测远程 HOME 并创建 ~/.ssh(第一次会要求密码)
|
||||||
|
ssh -t "$USER_NAME@$NAS_IP" << 'EOF'
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# 使用真实 HOME
|
# 使用远程真实 HOME(飞牛可能不是 /home/username)
|
||||||
HOME_DIR="$HOME"
|
HOME_DIR="$HOME"
|
||||||
SSH_DIR="$HOME_DIR/.ssh"
|
SSH_DIR="$HOME_DIR/.ssh"
|
||||||
AUTH_KEYS="$SSH_DIR/authorized_keys"
|
AUTH_KEYS="$SSH_DIR/authorized_keys"
|
||||||
@@ -46,13 +48,13 @@ AUTH_KEYS="$SSH_DIR/authorized_keys"
|
|||||||
mkdir -p "$SSH_DIR"
|
mkdir -p "$SSH_DIR"
|
||||||
chmod 700 "$SSH_DIR"
|
chmod 700 "$SSH_DIR"
|
||||||
|
|
||||||
|
# 确保 authorized_keys 文件存在
|
||||||
touch "$AUTH_KEYS"
|
touch "$AUTH_KEYS"
|
||||||
chmod 600 "$AUTH_KEYS"
|
chmod 600 "$AUTH_KEYS"
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# 写入公钥(真正推 key 的关键一步)
|
# 写入公钥到远程 authorized_keys
|
||||||
cat "$PUB_KEY" | ssh "$USER_NAME@$NAS_IP" \
|
cat "$PUB_KEY" | ssh "$USER_NAME@$NAS_IP" "cat >> ~/.ssh/authorized_keys"
|
||||||
"cat >> ~/.ssh/authorized_keys"
|
|
||||||
|
|
||||||
echo "✅ SSH 公钥已成功推送:$USER_NAME@$NAS_IP"
|
echo "✅ SSH 公钥已成功推送:$USER_NAME@$NAS_IP"
|
||||||
echo "ℹ️ 以后可直接免密登录(ssh $USER_NAME@$NAS_IP)"
|
echo "ℹ️ 以后可直接免密登录(ssh $USER_NAME@$NAS_IP)"
|
||||||
|
|||||||
Reference in New Issue
Block a user