ssh-keygen: command not found

Have You tried accessing the binary with the full path?

Maybe Your $PATH variable doesn't contain the default paths? echo $PATH should give something like:

[root@server ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

If it's empty, You may set the PATH variable with this command

export PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"

On CentOS possible default full paths are:

/usr/bin/ssh-keygen - from package: openssh

You may install the required package with command yum install {package}

On Debian possible default full paths are:

/usr/bin/ssh-keygen - from package: openssh-client

You may install the required package with command apt-get install {package}
Error in other languages:
ssh-keygen: bevel nie gevind nie
ssh-keygen: comandă negăsită
ssh-keygen: comando não encontrado
ssh-keygen: commande introuvable
ssh-keygen: command not found
ssh-keygen: käsku ei ole
ssh-keygen: không tìm thấy lệnh
ssh-keygen: komanda nerasta
ssh-keygen: Kommando nicht gefunden.
ssh-keygen: kommandot finns inte
ssh-keygen: komut yok
ssh-keygen: nie znaleziono polecenia
ssh-keygen: níor aimsíodh an t-ordú
ssh-keygen: no se encontró la orden
ssh-keygen: no s'ha trobat l'ordre
ssh-keygen: opdracht niet gevonden
ssh-keygen: parancs nem található
ssh-keygen: perintah tidak ditemukan
ssh-keygen: príkaz nenájdený
ssh-keygen: příkaz nenalezen
ssh-keygen: команда не найдена
ssh-keygen: командата не е открита
ssh-keygen: 命令找不到
ssh-keygen: コマンドが見つかりません