scripts/setup_github_ssh.sh

51 lines
1.3 KiB
Bash

#!/bin/bash
set -e
KEY_NAME="id_ed25519"
SSH_DIR="$HOME/.ssh"
PRIVATE_KEY_PATH="$SSH_DIR/$KEY_NAME"
PUBLIC_KEY_PATH="$PRIVATE_KEY_PATH.pub"
SSH_CONFIG_PATH="$SSH_DIR/config"
echo "=== Configurazione SSH per GitHub ==="
# 1. Crea la cartella .ssh
mkdir -p "$SSH_DIR"
chmod 700 "$SSH_DIR"
# 2. Chiedi la chiave privata
echo "👉 Incolla la tua chiave SSH PRIVATA (termina con Ctrl+D):"
cat > "$PRIVATE_KEY_PATH"
chmod 600 "$PRIVATE_KEY_PATH"
echo "✅ Chiave privata salvata in $PRIVATE_KEY_PATH"
# 3. Chiedi la chiave pubblica
echo "👉 Incolla la tua chiave SSH PUBBLICA (termina con Ctrl+D):"
cat > "$PUBLIC_KEY_PATH"
chmod 644 "$PUBLIC_KEY_PATH"
echo "✅ Chiave pubblica salvata in $PUBLIC_KEY_PATH"
# 4. Aggiungi configurazione SSH per GitHub
echo "🔧 Configurazione ~/.ssh/config"
grep -q "Host github.com" "$SSH_CONFIG_PATH" 2>/dev/null || cat >> "$SSH_CONFIG_PATH" <<EOF
Host github.com
HostName github.com
User git
IdentityFile $PRIVATE_KEY_PATH
IdentitiesOnly yes
EOF
chmod 644 "$SSH_CONFIG_PATH"
echo "✅ Config SSH aggiornata"
# 5. Avvia ssh-agent e aggiungi la chiave
eval "$(ssh-agent -s)"
ssh-add "$PRIVATE_KEY_PATH"
# 6. Test di connessione
echo "🔐 Test di connessione a GitHub..."
ssh -T git@github.com || true
echo "✅ Tutto pronto! Ora puoi usare Git con SSH su GitHub."