Não é possível acessar a pasta .ssh no terminal


-1

Ei pessoal, estou apenas me perguntando por que esse comando abaixo não funcionará:

Nicholass-MBP:~ nicholasmaddren$ sudo cd ~/.ssh

Então eu corro este comando dentro do terminal para tentar acessar a pasta .shh que tem uma das minhas chaves privadas.

Eu então executo o pwd para ter certeza de que estou nesta pasta:

Nicholass-MBP:~ nicholasmaddren$ pwd

No entanto, fiquei com este resultado, o que significa que não estou nesse diretório, então não consigo selecionar minha chave SHH.

/Users/nicholasmaddren

Alguém poderia apenas lançar um pouco de luz sobre isso para mim eu agradeceria muito.

Obrigado Nick

Respostas:


0

Apenas curioso Por que você quer sudo em uma pasta em seu diretório home em primeiro lugar? O Sudo é para acessar pastas que não são de sua propriedade, entre outras coisas (Super User Do) ...


0

(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 #.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.