Perbaiki Error “cannot run ssh” di Git (Arch Linux)

Solusi cepat dan santai buat kamu yang nemuin pesan error: cannot run ssh: No such file or directory

Kalau kamu baru aja nemu error ini waktu jalankan git fetch atau git pull di Arch Linux:

error: cannot run ssh: No such file or directory
fatal: unable to fork

Tenang, ini bukan error besar kok 😎 Biasanya Git cuma nggak bisa nemuin program ssh yang dibutuhkan untuk konek ke remote repository.

🔍 Penyebab Umum

💡 Script Otomatis: fix-git-ssh.sh

Biar makin gampang, kamu bisa pakai script ini untuk otomatis mendeteksi dan memperbaiki error:

#!/usr/bin/env bash
# ===============================================
#  fix-git-ssh.sh — Perbaiki error "cannot run ssh"
#  untuk Arch Linux / Manjaro
# ===============================================

set -e

YELLOW='\033[1;33m'
GREEN='\033[1;32m'
RED='\033[1;31m'
NC='\033[0m'

echo -e "${YELLOW}🔍 Mengecek apakah OpenSSH sudah terinstal...${NC}"

if ! pacman -Q openssh &>/dev/null; then
  echo -e "${RED}❌ OpenSSH belum terinstal.${NC}"
  echo -e "${YELLOW}➡️  Menginstal openssh...${NC}"
  sudo pacman -S --noconfirm openssh
else
  echo -e "${GREEN}✅ OpenSSH sudah terinstal.${NC}"
fi

echo -e "\n${YELLOW}🔍 Mengecek lokasi binary ssh...${NC}"
if ! command -v ssh >/dev/null 2>&1; then
  echo -e "${RED}❌ ssh tidak ditemukan di PATH.${NC}"
  echo "PATH saat ini:"
  echo "$PATH"
  echo "Pastikan /usr/bin ada di PATH kamu."
  exit 1
else
  SSH_PATH=$(command -v ssh)
  echo -e "${GREEN}✅ ssh ditemukan di: ${SSH_PATH}${NC}"
fi

echo -e "\n${YELLOW}🧪 Mengecek versi ssh...${NC}"
ssh -V || {
  echo -e "${RED}❌ Gagal menjalankan ssh.${NC}"
  exit 1
}

# Tes koneksi git remote (jika di dalam repo)
if git rev-parse --is-inside-work-tree &>/dev/null; then
  echo -e "\n${YELLOW}🔍 Mengecek remote Git...${NC}"
  REMOTE_URL=$(git config --get remote.origin.url || true)
  if [[ -n "$REMOTE_URL" ]]; then
    echo "Remote ditemukan: $REMOTE_URL"
    if [[ "$REMOTE_URL" == git@* ]]; then
      echo -e "${YELLOW}🧪 Menguji koneksi SSH ke Git...${NC}"
      ssh -T git@github.com || true
    else
      echo -e "${GREEN}ℹ️  Remote menggunakan HTTPS, SSH tidak diperlukan.${NC}"
    fi
  else
    echo -e "${RED}⚠️  Tidak ada remote.origin.url ditemukan.${NC}"
  fi
fi

echo -e "\n${GREEN}🎉 Semua selesai! SSH siap digunakan untuk Git.${NC}"

Kamu bisa simpan file ini sebagai fix-git-ssh.sh, lalu jalankan:

chmod +x fix-git-ssh.sh
./fix-git-ssh.sh

📸 Contoh Tampilan & Tes

Contoh git fetch setelah fix
Hasil perbaikan ssh di Arch Linux

🧰 Solusi untuk Arch Linux

Cukup jalankan ini:

sudo pacman -S openssh

Lalu pastikan sudah terdeteksi:

which ssh
ssh -V

Kalau muncul versi seperti OpenSSH_9.8p1, berarti sudah beres ✅

Bagikan Artikel Ini 🔗

📘 🐦 💬 👽
×