update 02
This commit is contained in:
@@ -10,10 +10,6 @@ KEY_NAME="id_dropbear"
|
|||||||
PRIV_KEY="$KEY_DIR/$KEY_NAME"
|
PRIV_KEY="$KEY_DIR/$KEY_NAME"
|
||||||
PUB_KEY="$KEY_DIR/$KEY_NAME.pub"
|
PUB_KEY="$KEY_DIR/$KEY_NAME.pub"
|
||||||
|
|
||||||
TARGET_HOME="/home/$USER_NAME"
|
|
||||||
TARGET_SSH_DIR="$TARGET_HOME/.ssh"
|
|
||||||
TARGET_AUTH_KEYS="$TARGET_SSH_DIR/authorized_keys"
|
|
||||||
|
|
||||||
# ===== 参数检查 =====
|
# ===== 参数检查 =====
|
||||||
if [ -z "$USER_NAME" ] || [ -z "$NAS_IP" ]; then
|
if [ -z "$USER_NAME" ] || [ -z "$NAS_IP" ]; then
|
||||||
echo "用法: $0 <飞牛用户名> <飞牛IP>"
|
echo "用法: $0 <飞牛用户名> <飞牛IP>"
|
||||||
@@ -38,29 +34,25 @@ fi
|
|||||||
# ===== 阶段二:推送公钥到飞牛 NAS =====
|
# ===== 阶段二:推送公钥到飞牛 NAS =====
|
||||||
echo "== [2/2] 推送公钥到飞牛 NAS =="
|
echo "== [2/2] 推送公钥到飞牛 NAS =="
|
||||||
|
|
||||||
ssh "$USER_NAME@$NAS_IP" "
|
# 第一次连接:创建 ~/.ssh 并设置权限(不使用 sudo,不假设 /home)
|
||||||
|
ssh "$USER_NAME@$NAS_IP" << 'EOF'
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# 确保 /home/用户名 存在(飞牛首次安装时需要)
|
# 使用真实 HOME
|
||||||
if [ ! -d \"$TARGET_HOME\" ]; then
|
HOME_DIR="$HOME"
|
||||||
sudo mkdir -p \"$TARGET_HOME\"
|
SSH_DIR="$HOME_DIR/.ssh"
|
||||||
sudo chown $USER_NAME:$USER_NAME \"$TARGET_HOME\"
|
AUTH_KEYS="$SSH_DIR/authorized_keys"
|
||||||
sudo chmod 755 \"$TARGET_HOME\"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# 创建 .ssh 目录
|
mkdir -p "$SSH_DIR"
|
||||||
sudo mkdir -p \"$TARGET_SSH_DIR\"
|
chmod 700 "$SSH_DIR"
|
||||||
sudo chown $USER_NAME:$USER_NAME \"$TARGET_SSH_DIR\"
|
|
||||||
sudo chmod 700 \"$TARGET_SSH_DIR\"
|
|
||||||
|
|
||||||
# 准备 authorized_keys
|
touch "$AUTH_KEYS"
|
||||||
sudo touch \"$TARGET_AUTH_KEYS\"
|
chmod 600 "$AUTH_KEYS"
|
||||||
sudo chown $USER_NAME:$USER_NAME \"$TARGET_AUTH_KEYS\"
|
EOF
|
||||||
sudo chmod 600 \"$TARGET_AUTH_KEYS\"
|
|
||||||
"
|
|
||||||
|
|
||||||
# 写入公钥
|
# 写入公钥(真正推 key 的关键一步)
|
||||||
cat "$PUB_KEY" | ssh "$USER_NAME@$NAS_IP" \
|
cat "$PUB_KEY" | ssh "$USER_NAME@$NAS_IP" \
|
||||||
"cat >> $TARGET_AUTH_KEYS"
|
"cat >> ~/.ssh/authorized_keys"
|
||||||
|
|
||||||
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