В доступе отказано (открытый ключ) - PullRequest
0 голосов
/ 29 апреля 2018

Я использую экземпляр облака Google. Я могу успешно подключиться к экземпляру через SSH.

Но я не могу сделать переадресацию портов на мой локальный хост.

Вот команда, которую я использовал:

ssh -L 16006:127.0.0.1:8080 username@instance_external_ip

Когда я запускаю вышеуказанную команду, я получаю следующую ошибку

The authenticity of the host cannot be determined. username@instance_external_ip : Permission Denied (public key)

Как решить эту проблему?

1 Ответ

0 голосов
/ 29 апреля 2018

Я нашел ответ на этот вопрос. Проблема у меня была в том, что сервер не знал ключей ssh. Итак, я сделал следующее, и это сработало.

Я удалил все ключи ssh на моем локальном компьютере и подключился к своему экземпляру gcloud с помощью следующей команды. Команда gcloud создает ключи ssh автоматически и автоматически передает ключи ssh в облако. Таким образом, не нужно вручную копировать вставлять ключи.

gcloud compute --project "project_name" ssh --zone "zone_name" "instance_name"

После этого я подключился к своему экземпляру, используя ssh. Прежде чем делать, если вы попытаетесь использовать ssh tunnel, поскольку сервер не будет знать о локальном хосте, он скажет, что при запуске ssh -L .... отказано в разрешении.

Поэтому вместо прямого соединения через ssh -L ..., подключитесь вместе с ssh-key файлом, хранящимся в каталоге .ssh. Используйте следующую команду.

ssh -i ~/.ssh/google_compute-engine -L <ur localhost port number>:127.0.0.1:<remote_host_port> username@server_ip

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...