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
- OpenSSH belum terinstal — Git pakai SSH buat koneksi ke GitHub, GitLab, dsb.
- PATH nggak berisi lokasi ssh — kadang udah terinstal tapi belum dikenal sistem.
💡 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
🧰 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 ✅