Я хочу настроить туннель SSH к серверу MySQL, который находится на компьютере, который имеет виртуальную машину. Также туннель должен работать, если машина перезапущена.
Допустим, А - это компьютер с программным обеспечением Linux. Б - виртуальная машина на компьютере А.
MySQL находится в B.
C - это виртуальная машина на компьютере A, которая хочет подключиться к MySQL в B.
Теперь эта статья: http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/
Я пытаюсь скопировать открытый ключ на удаленный сервер. Я думаю, мне нужно скопировать его на компьютер А.
ssh-copy-id -i id_rsa.pub.bak [user]@[IP of A] -p [port of A]
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).
Теперь я попытался ввести кодовую фразу для файла id_rsa.pub.bak. Это отрицается.
Затем я вижу, что он использует ключ в /home/[user]/.ssh/id_rsa, который отличается от открытого ключа, который я пытаюсь скопировать, я имею в виду, конечно, что закрытый ключ отличается, но я имею в виду, что я копирую открытый ключ другого закрытый ключ Поэтому я попытался использовать пароль. Также отказано.
Как я могу отладить, почему пароль запрещен?
Обновить
На основе комментариев я создал новый публичный файл с именем id_rsa.pub, где все теперь в одной строке
и запустить и все равно получить ошибку.
ssh-copy-id -i id_rsa.pub [host and port] -vvv
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).
Обновить
Проверил разрешения для папки .ssh и файла author_keys на компьютере A - их 700 и 600, так что в комментарии говорится, что они хороши.
Обновить
Попытался установить аутентификацию по паролю да на компьютере и перезапустить службу. Перезапуск, так как ответ не работает, он пишет, что sshd не распознан, поэтому я перезапустил использование:
sudo /etc/init.d/ssh restart
Затем снова попытался на С-машине скопировать на А-машину.
ssh-copy-id -i id_rsa.pub [user@host] -p [port] -v
и все тот же
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).
Если я иду, чтобы скопировать ключ вручную в author_keys, я вижу, что открытый ключ уже существует, тот же, который я хочу скопировать. Я спросил своего коллегу, он сказал, что не копировал его. Поэтому я даже не понимаю, как это может быть там.
Хорошо, если он там есть, это было бы хорошо, но, оставаясь там, он не позволяет мне соединиться с ssh без ввода пароля. Но я смог связаться с вводом ключевой фразы. Так что здесь явно что-то не так. И ключ, который я пытаюсь скопировать, с пустой парольной фразой. Когда я связался с ssh - я ввел фразу-пароль, которая не была пустой.
Один и тот же открытый ключ не может принимать пустую фразу-пароль и непустую фразу-пароль, что имеет смысл. Но тогда почему открытый ключ, который я пытаюсь загрузить, совпадает с ключом в файле author_keys, если парольные фразы разные? Я не проверял каждый отдельный символ, но маловероятно, что ключи будут настолько похожи, что начало и конец будут одинаковыми, даже если я думаю, что пароль будет другим
id_rsa
? Я ожидаю, что произойдетssh-copy-id
сбой с сообщением об ошибке, как вы его называете, так как он ожидает файл, заканчивающийся на.pub
. Поскольку твое заканчивается.bak
этим, вероятно, будет использоватьid_rsa.pub.bak.pub
.