ssh-keygen
gera as chaves pública e privada, que inicialmente residem apenas localmente. Dar a chave pública a outro host é algo que o usuário precisaria fazer manualmente, seja enviando-o para alguém responsável pelo servidor B, ou se você tiver uma conta com uma senha, você poderia fazer o login e colocá-lo lá. Para permitir login sem senha no servidor B, você precisaria adicionar sua chave pública ao arquivo ~ / .ssh / authorized_keys no servidor B (uma chave pública por linha, pode haver qualquer número de chaves neste arquivo). Existe um comando do linux ssh-copy-id
que irá copiar o ID para você e colocá-lo no arquivo.
Por padrão, o ssh usará o arquivo ~ / .ssh / id_XXX como sua chave privada. XXX pode ser rsa, dsa ou qualquer protocolo para o qual uma chave foi gerada. IIRC, dsa é antigo e não deve ser usado. Se você quiser usar uma chave privada diferente, você pode especificá-la no seu comando ssh usando -i
. Contanto que a chave privada que está sendo usada corresponda a uma chave pública na máquina remota (no arquivo authorized_keys da conta do usuário na qual você está efetuando login), você não precisará fornecer uma senha.