Рейтинг:0

Как подключиться к серверу по ssh через бастион (прокси) с ключом от бастиона (прокси), а не из источника

флаг ma

Итак, я по существу пытаюсь сделать это:

ssh [email protected] -t ssh bob2@test-vm

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

Вот что у меня внутри файла конфигурации:

Хозяйский бастион
     Имя хоста 35.192.152.35
     Пользователь bob2

Хост test-vm
     Пользователь bob2
     FORWARDAgent да
     ProxyCommand ssh бастион nc %h %p 2> /dev/null

Однако появляется сообщение об ошибке «отказано в доступе», неверный файл открытого ключа? Я придумал вышеизложенное из этого поста: https://unix.stackexchange.com/questions/124078/how-to-ssh-to-a-server-using-another-server-with-key-from-the-the-second-server

Каким-то образом это сработало для парня, но, похоже, не сработало для меня. Я также попытался разрешить переадресацию агента и переадресацию TCP в конфигурации sshd_chroot на всех сторонах (источник, бастион и сервер), но это не имело значения.

если я принудительно укажу пути идентификации:

Хозяйский бастион
     Имя хоста 35.192.152.35
     Пользователь bob2
     IdentityFile /Users/bob/.ssh/id_rsa

Хост test-vm
     Пользователь bob2
     FORWARDAgent да
     ProxyCommand ssh бастион nc %h %p 2> /dev/null
     IdentityFile /home/bob2/.ssh/id_ed25519

Затем появляется та же ошибка, в дополнение к тому, что он не может найти каталог "/home/bob2/.ssh/id_ed25519"

У кого-нибудь есть идеи?

John Hanley avatar
флаг cn
Я думаю, вам следует использовать **ProxyJump ssh bob2@test-vm**
Dmytro Lysak avatar
флаг ma
@JohnHanley, не уверен, что ты имеешь в виду, замени ProxyCommand на предложенный тобой proxyjump? Он просто дает мне «ssh: не удалось разрешить имя хоста bob2: предоставлено имя узла или имя сервера ...»
John Hanley avatar
флаг cn
Мне нужно увидеть, как именно вы используете эту команду. Скорее всего, вы не указали имя хоста для сервера перехода. Отредактируйте свой вопрос с деталями.
Dmytro Lysak avatar
флаг ma
@JohnHanley, нет, это точно такая же конфигурация, у меня есть виртуальная машина на GCP, называемая test-vm, и другая виртуальная машина на gcp, называемая bastion, и я пытаюсь подключиться к test-vm по ssh с моего macbook через бастион, используя ключ ssh от бастиона > test-vm. Имя хоста не требуется для test-vm, поскольку в gcp вы можете подключаться по ssh к другим виртуальным машинам в той же подсети, используя только имя хоста, а не IP-адрес. Я также пытался использовать IP-адрес, указанный для test-vm.
Рейтинг:0
флаг cn

Кажется, вы хотите, чтобы ваша конфигурация позволяла test-vm искать ключ в бастионе. Поэтому я предлагаю:

  1. Скопируйте файл ключа в папку .ssh bob2 в бастионе.
  2. Добавлять ПроксиКоманда с ssh-add в вашей конфигурации.
Dmytro Lysak avatar
флаг ma
Ключевой файл Bob2 уже находится в бастионе, поэтому «ssh [email protected] -t ssh bob2@test-vm» работает, но по какой-то причине попытка воспроизвести это в файле конфигурации не работает.
флаг cn
Затем попробуйте поместить ключ test-vm в папку клиента и изменить IdentityFile /home/bob2/.ssh/id_ed25519 на IdentityFile /Users/bob/.ssh/id_ed25519 из последней конфигурации.
Dmytro Lysak avatar
флаг ma
Я не совсем уверен, о чем вы спрашиваете, мне не разрешено перемещать какие-либо ключи между серверами, test-vm должен использовать ключи из бастиона, а бастион не может иметь никаких ключей из источника.
флаг cn
Я нашел похожий вопрос. Не могли бы вы попробовать решения там? Я думаю, вам нужно ssh-add в вашей конфигурации. https://serverfault.com/questions/337274/ssh-from-a-through-b-to-c-using-private-key-on-b
Dmytro Lysak avatar
флаг ma
Я пробовал это перед отправкой этого вопроса, к сожалению, это не работает, выдает ту же ошибку. Может быть, команда ssh работает немного по-другому в MacOS? Может поэтому у меня не работает?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.