
В настоящее время я работаю из дома и мне нужно подключиться к производственному серверу. Политика безопасности на работе не позволяет VPN-клиентам подключаться к производственным экземплярам. Поэтому я решил, что могу настроить переадресацию агента через сервер разработки (к которому у меня есть доступ), поскольку это разрешено.
Для этого я сначала включил переадресацию агентов для сервера разработки:
- Я добавил
ForwardAgent yes
для~/.ssh/config
записи сервера разработки на моем компьютере - Я побежал
eval 'ssh-agent'
запускать ssh агент - Я добавил свой ssh-ключ к агенту с помощью
ssh-add ~/.ssh/id_rsa
- Я подключился к серверу разработки с помощью
ssh -A <devserver>
- На сервере разработки я попытался подключиться к рабочему серверу с помощью
ssh -T me@<prodserver>
После этого я смог запускать команды на производственном сервере. Однако я так и не увидел фактического приглашения bash.
Могу ли я что-то сделать, чтобы убедиться, что подсказка отображается?
решение1
На последнем шаге запустите ssh
без -T
опции:
-T Disable pseudo-terminal allocation.
Использование этой -T
опции фактически отключает выделение TTY, что, в свою очередь, лишает вас возможности получить оболочку.
mtak@rubiks:~/bla(develop)$ ssh gen1
THIS IS A PRIVATE COMPUTER SYSTEM. Unauthorized access prohibited.
You have mail.
Last login: Tue Mar 10 10:45:25 2020 from vpn-int-2.int.mtak.nl
mtak@gen1:~$ logout
Connection to gen1 closed.
mtak@rubiks:~/bla(develop)$ ssh -T gen1
THIS IS A PRIVATE COMPUTER SYSTEM. Unauthorized access prohibited.
You have mail.
date
ma mrt 16 16:12:53 CET 2020
решение2
Я попытался подключиться к рабочему серверу с помощью
ssh -T me@<prodserver>
Вы не получаете подсказку, потому что используете -T
опциюсказал ssh отключить терминальный режим(выделение tty).
Наличие tty — это то, как все программы определяют, запускаются ли они интерактивно (т. е. подключены к терминалу/клавиатуре) или получают команды из файла или конвейера. В последнем случае, т. е. в "пакетном" режиме, оболочки обычно отключают все запросы; такие инструменты, как 'ls', теряют свое красивое форматирование и цветной вывод; и так далее.