1
0
forked from finn/tinyboard

fix SSH service detection across distros; fix misleading key copied message

This commit is contained in:
Justin Oros
2026-04-18 13:43:33 -07:00
parent 9e6a6f2222
commit 72a58cc390
3 changed files with 22 additions and 17 deletions

View File

@@ -98,7 +98,9 @@ fi
header "Copying Hub Key to Spoke" header "Copying Hub Key to Spoke"
info "Running ssh-copy-id to $SPOKE_USER@localhost:$TUNNEL_PORT..." info "Running ssh-copy-id to $SPOKE_USER@localhost:$TUNNEL_PORT..."
info "(You will be prompted for the $SPOKE_USER password on the spoke)" info "(You will be prompted for the $SPOKE_USER password on the spoke)"
if ! ssh-copy-id -i "$KEY_PATH.pub" -p "$TUNNEL_PORT" "$SPOKE_USER"@localhost; then if ssh-copy-id -i "$KEY_PATH.pub" -p "$TUNNEL_PORT" "$SPOKE_USER"@localhost; then
info "Key copied."
else
warn "ssh-copy-id failed — password auth may be disabled on the spoke." warn "ssh-copy-id failed — password auth may be disabled on the spoke."
warn "Manually append the hub public key to the spoke's authorized_keys:" warn "Manually append the hub public key to the spoke's authorized_keys:"
echo "" echo ""
@@ -108,7 +110,6 @@ if ! ssh-copy-id -i "$KEY_PATH.pub" -p "$TUNNEL_PORT" "$SPOKE_USER"@localhost; t
echo "" echo ""
read -rp "Press ENTER once the key has been added to the spoke..." read -rp "Press ENTER once the key has been added to the spoke..."
fi fi
info "Key copied."
header "Testing Hub -> Spoke Key Auth" header "Testing Hub -> Spoke Key Auth"
retry_or_abort \ retry_or_abort \

View File

@@ -161,14 +161,18 @@ for DIRECTIVE in "GatewayPorts yes" "AllowTcpForwarding yes" "ClientAliveInterva
info "$DIRECTIVE set." info "$DIRECTIVE set."
done done
if systemctl enable ssh 2>/dev/null; then SSH_SVC=""
systemctl restart ssh if systemctl list-unit-files ssh.service >/dev/null 2>&1 && systemctl enable ssh 2>/dev/null; then
elif systemctl enable sshd 2>/dev/null; then SSH_SVC="ssh"
systemctl restart sshd elif systemctl list-unit-files sshd.service >/dev/null 2>&1 && systemctl enable sshd 2>/dev/null; then
SSH_SVC="sshd"
fi
if [ -n "$SSH_SVC" ]; then
systemctl restart "$SSH_SVC"
info "SSH server restarted."
else else
warn "Could not enable/restart SSH service — please start it manually." warn "Could not enable/restart SSH service — please start it manually."
fi fi
info "SSH server restarted."
header "Password Authentication" header "Password Authentication"
read -rp "Disable password auth for $HUB_USER and use keys only? [Y/n]: " DISABLE_PASS read -rp "Disable password auth for $HUB_USER and use keys only? [Y/n]: " DISABLE_PASS
@@ -193,9 +197,7 @@ if [[ "${DISABLE_PASS,,}" == "y" ]]; then
warn "If you are connected via SSH, your session may drop." warn "If you are connected via SSH, your session may drop."
warn "Make sure you can reconnect using your key before continuing." warn "Make sure you can reconnect using your key before continuing."
read -rp "Press ENTER to restart SSH or CTRL+C to abort..." read -rp "Press ENTER to restart SSH or CTRL+C to abort..."
if systemctl restart ssh 2>/dev/null; then if [ -n "$SSH_SVC" ] && systemctl restart "$SSH_SVC" 2>/dev/null; then
info "SSH restarted."
elif systemctl restart sshd 2>/dev/null; then
info "SSH restarted." info "SSH restarted."
else else
warn "Could not restart SSH — please restart it manually." warn "Could not restart SSH — please restart it manually."

View File

@@ -155,10 +155,14 @@ info "Adding $SPOKE_USER to docker group..."
usermod -aG docker "$SPOKE_USER" 2>/dev/null || true usermod -aG docker "$SPOKE_USER" 2>/dev/null || true
info "Enabling SSH server..." info "Enabling SSH server..."
if systemctl enable ssh 2>/dev/null; then SSH_SVC=""
systemctl start ssh if systemctl list-unit-files ssh.service >/dev/null 2>&1 && systemctl enable ssh 2>/dev/null; then
elif systemctl enable sshd 2>/dev/null; then SSH_SVC="ssh"
systemctl start sshd elif systemctl list-unit-files sshd.service >/dev/null 2>&1 && systemctl enable sshd 2>/dev/null; then
SSH_SVC="sshd"
fi
if [ -n "$SSH_SVC" ]; then
systemctl start "$SSH_SVC"
else else
warn "Could not enable SSH service — please start it manually." warn "Could not enable SSH service — please start it manually."
fi fi
@@ -252,9 +256,7 @@ if [[ "${DISABLE_PASS,,}" == "y" ]]; then
warn "If you are connected via SSH, your session may drop." warn "If you are connected via SSH, your session may drop."
warn "Make sure you can reconnect using your key before continuing." warn "Make sure you can reconnect using your key before continuing."
read -rp "Press ENTER to restart SSH or CTRL+C to abort..." read -rp "Press ENTER to restart SSH or CTRL+C to abort..."
if systemctl restart ssh 2>/dev/null; then if [ -n "$SSH_SVC" ] && systemctl restart "$SSH_SVC" 2>/dev/null; then
info "SSH restarted."
elif systemctl restart sshd 2>/dev/null; then
info "SSH restarted." info "SSH restarted."
else else
warn "Could not restart SSH — please restart it manually." warn "Could not restart SSH — please restart it manually."