Como usar o comando scp sem a opção -i e ainda encontrar a chave privada

Como usar o comando scp sem a opção -i e ainda encontrar a chave privada

Estou logado em uma caixa win2008, executo scpa opção -i que aponta para o diretório onde a chave privada reside na caixa win2008.

scp -i "cygdrive/c/users/userid/privkey..." user@linux:/dirA/dirB/* .

Quando executo este comando na caixa do win2008, ele efetua login na caixa do Linux, corresponde às chaves e envia os arquivos para a caixa do win2008. Se eu não especificar a chave, uma senha será solicitada.

Gerei as chaves na caixa do win2008 usando ssh-keygen. Adicionei a chave do Linux na configuração do winsshd em chaves públicas. Então peguei a chave do ssh-keygen e coloquei na caixa do Linux.

Onde está o comando scp procurando a chave? Como posso executar scpa partir da caixa do win2008 sem passar a chave como parâmetro?

Responder1

Se entendi sua pergunta corretamente, existem algumas opções ...

  1. defina o local do arquivo de identidade padrão da mesma forma que é feito para SSH, conforme explicado aqui...https://stackoverflow.com/questions/84096/setting-the-default-ssh-key-location

  2. ou alias seu scpcomando para incluir o modificador assim ...alias scp='scp -i /path/of/keyfile'

Ambos devem funcionar, mas recomendo a opção 1 em vez da opção 2. É a maneira mais correta de fazer isso.

Responder2

Acho que encontrei minha própria resposta. Aparentemente, o scp está procurando o arquivo de chave privada com o nome id_dsa E deseja o arquivo no diretório .ssh. Depois que encontrei home/.ssh na estrutura de diretórios cygwin (outra peça-chave do quebra-cabeça) e adicionei o arquivo de chave privada com o nome id_dsa e executei o comando scp sem a opção -i, funcionou. Obrigado a todos por enviarem vibrações 'inteligentes' em minha direção para que eu pudesse resolver isso. Não estou mais perplexo! Gosto de todas as sugestões feitas aqui. Agradeço o feedback rápido.

informação relacionada