(Nenhuma dessas respostas é específica do Mac OSX, mas é como o BSD / Unix funciona. Como o Mac OSX / Darwin é baseado no BSD / Unix, espera-se que isso se aplique e funcione bem para você e também se aplica a outros Unixes.)
Sim ... os resultados que você reporta são exatamente o que se espera.
Aqui está o que aconteceu: Você correu "sudo". O comando "sudo" tentou rodar "cd ~ / .ssh", o que provavelmente falhou porque "cd" é um comando interno. Para fazer esse comando funcionar, o que não vai conseguir o que você está tentando fazer, você poderia usar:
sudo -c $ {SHELL} "cd ~ / .ssh"
Em seguida, o comando sudo é encerrado e, portanto, você está de volta ao seu diretório atual, gerando os resultados indesejados que está obtendo.
Você deve ter acesso ao seu próprio diretório home, então sua solução é simplesmente soltar a palavra "sudo", que ajuda você com permissões. Se você estivesse tentando acessar o diretório de outro usuário, provavelmente iria querer criar um sub-shell, então você usaria:
sudo -c $ {SHELL} "cd ~ anotherUser / .ssh"
Então, seu prompt provavelmente mudará para ter # ao invés de $, já que o sudo lhe deu privilégios de superusuário. Quando terminar de fazer as coisas "erradas", digite "exit" para alterar o prompt de volta para ser não privilegiado, mostrando um $ em vez de um #.