Do I need to create a different SSH key for this user? I would do that on the DO server? I can't even log in as this new user because it says access denied (public key) when I try to login. I can log in as root, however, when I use that key.
Você pode usar a mesma chave para tudo. No entanto, seria melhor usar chaves diferentes para usuários diferentes. Então, eu recomendo gerar uma chave para um usuário que não seja root
. (E talvez não inserir uma senha, senão você terá que entender ssh-agent
(veja abaixo).) Você geraria a chave no servidor DO e então anexaria a chave pública ... veja a próxima etapa.
How can I ensure the droplet will allow access from this other server? I read that you can copy the public key created on the DO server to the shared server's .ssh dir and then append it to authorized_keys. Is that correct?
Você não precisa copiá-lo para o diretório ~/.ssh
. Você só precisa anexá-lo a authorized_keys
no diretório ~/.ssh
.
Even if the key is copied over, it would still have a password as well that I would need to type in, no? Where does that get saved to? An environment variable?
Somente se você inseriu uma senha quando gerou sua chave. Você pode armazenar senhas usando ssh-agent
. Executar ssh-agent
executará um processo em segundo plano que cuida do preenchimento da senha quando você ssh
(ou scp
etc.) em um servidor diferente, mas apenas para chaves que você tem ssh-add
ed. Também irá produzir algumas linhas como esta:
$ ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-mjHm7nFyhJSh/agent.21838; export SSH_AUTH_SOCK;
SSH_AGENT_PID=21839; export SSH_AGENT_PID;
echo Agent pid 21839;
Estes são comandos do shell. Se você colá-los em seu shell, poderá usar ssh-agent
nesse shell. Você também pode fazer eval $(ssh-agent)
para avaliar automaticamente a saída de ssh-agent
pelo shell. Em seguida, você usa ssh-add
(para a chave .ssh/id_rsa
padrão ou ssh-add path/to/key
e insere a frase secreta uma vez. Nesse terminal, você poderá ssh
em outros servidores sem inserir a frase secreta, mesmo que tenha gerado chave com uma senha.