51 lines
1.3 KiB
Bash
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."
|