SCP попросить предоставить пароль для ключа без одного

Я делаю следующую команду

sudo chmod 400 /home/ec2-user/key
sudo scp -o StrictHostKeyChecking=no -o NoHostAuthenticationForLocalhost=yes -o UserKnownHostsFile=/dev/null -i key ec2-user@${aws_instance.master.private_ip}:/home/ec2-user/token

но каждый раз, когда я получаю Enter passphrase для ключа 'key': ключ вообще не имеет парольной фразы

Я запускаю это на Amazon Linux 2 AMI 2.0.20181008 x86_64 HVM gp2, как это исправить, пожалуйста, я использую его в автоматическом скрипте terraform

1 ответ

Я получаю Введите пароль для ключа "ключ": ключ не имеет пароля

Это признак того, что файл ключа поврежден или его содержимое не в формате, который ssh Программа принимает. Некоторые версии утилиты ssh будут запрашивать парольную фразу каждый раз, когда она не может понять содержание файла ключа:

$ dd if=/dev/urandom of=key bs=1500 count=1
1+0 records in
1+0 records out
1500 bytes transferred in 0.000190 secs (7893922 bytes/sec)
$ chmod 600 key
$ ssh -i key foo@localhost
Enter passphrase for key 'key':

Более свежие версии ssh может определить разницу между ключом, защищенным парольной фразой, и файлом, полным мусора:

$ ssh -V
OpenSSH_7.6p1, LibreSSL 2.6.2
$ dd if=/dev/random of=key bs=1500 count=1
1+0 records in
1+0 records out
1500 bytes transferred in 0.000149 secs (10082462 bytes/sec)
$ chmod 600 key
$ ssh -i key localhost
Load key "key": invalid format
Password:
Другие вопросы по тегам