Soluzione 1:
La directory verrà richiedono il bit di esecuzione impostato per poterlo inserire. Non so cosa hai testato, ma non puoi inserisci una directory senza il bit di esecuzione o leggi i file in essa:
$ mkdir foo
$ echo "baz" > foo/bar
$ chmod 660 foo
$ cd foo
bash: cd: foo: Permission denied
$ cat foo/bar
cat: foo/bar: Permission denied
Cioè, a meno che il tuo processo ha il set di funzionalità CAP_DAC_OVERRIDE POSIX (come root), che ti consente di accedere alle directory senza il bit eseguibile impostato, iirc.
Fondamentalmente, dovresti provare a mantenere la tua directory .ssh a 700 e tutto ciò che contiene a 600, solo per sicurezza. La pagina man di ssh fornisce istruzioni per file sulle proprietà richieste e sulle modalità di autorizzazione per i file in ~/.ssh.
Soluzione 2:
Una directory richiede il permesso di esecuzione per cd
dentro. Questo è il comportamento previsto.
Soluzione 3:
Per eseguire ls o cd in una directory, è necessario eseguire i permessi. Anche se non li hai, non puoi davvero ispezionare il contenuto e vedere i permessi dei file all'interno, quindi molto probabilmente i permessi dei file stessi sono sbagliati, se non li puoi cat.
Permessi di directory di 700 e permessi di file 644 sono perfettamente impostati per me.