Я пытаюсь запустить скрипт / оболочку сразу после входа через ssh на мой хост с "guestUser", задача этого пользователя - подключиться к другому удаленному хосту через ssh, я создал этого пользователя на своем хосте:

guestUser:x:1234:1234::/home/guest:/bin/bash

Затем в гостевой директории у меня есть файл .bashrc куда я добавляю это, следуя этому ответу (Linux: Как автоматически запускать команды при входе в SSH?):

if[[ -n $SSH_CONNECTION ]] ; then
  ssh 192.198.1.99
fi

Я сделал это, потому что на этом шаге "guestUser" вводит sshUserInRemoteTwo и sshUserPasswordInRemoteTwo. Это не работает. Сценарий пытается зарегистрировать "guestUser" в remoteHostTwo как "guestUser", это не цель, мне нужен скрипт, запрашивающий имя пользователя / пароль.

Если я понял, что это работает: скрипт запрашивает имя пользователя и пароль и правильно входит в систему на втором хосте, а затем, когда соединение SHH со вторым хостом завершено, guestUser отключен от моего хоста; потому что в настоящее время соединение SSH закончено, и пользователь остается на моем хосте.

2 ответа2

0

Пытаться:

ssh <username>@192.198.1.99

Или же:

ssh -l <username> 192.198.1.99

Просто замените строку в вашем фрагменте .bashrc выше одной из этих форм.

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

человек сш

0

Если вы хотите, чтобы пульт был прокси-сервером, вам не нужно создавать специального пользователя. Вы можете сделать это, создав auth по ключу и ограничив этот ключ безоговорочно выполнять указанную команду

man authorized_keys
...
command="command"
         Specifies that the command is executed whenever this key is used for authentication.

В этой команде вы можете соединить ssh соединение.

Но лучше для этого использовать переадресацию портов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .