Чтобы автоматизировать ssh-соединение, я написал сценарий, использующий ожидаемый файл, который прекрасно работает. Тем не менее, я хотел бы использовать этот скрипт в функции подключения к nautilus к серверу. Моя идея заключалась в том, чтобы каким-то образом включить этот ожидаемый сценарий в файл .ssh/config, поскольку nautilus может использовать подробно описанные здесь соединения, но я не знаю как. К сожалению, я не могу скопировать ключ RSA на сервер. Это многопользовательское соединение, и я не могу написать на первый сервер. Этот первый сервер запрашивает только пароль и машину, к которой я могу подключиться. Таким образом, пароль не является проблемой, так как он также может быть предоставлен nautilus. Любая помощь приветствуется, спасибо!
1 ответ
1
Вы не можете использовать пароль в ssh_config
. Но вы можете использовать переадресацию портов (если это разрешено в Jumpbox):
SSHPASS=password sshpass -e ssh -L 2222:remotehost:22 user@jumpbox
а потом
ssh -p 2222 localhost
приведет вас прямо к удаленному хосту. Вы можете поместить это в ваш ssh_config
, например:
Host remote-forwarded
Hostname localhost
Port 2222
а затем подключите такие как
ssh remote-forwarded
Похожим образом это будет работать в nautilus.
Переадресация портов запрещена на Jumpbox
В этом случае все будет сложнее. Вам нужно будет использовать прокси-команду для настройки переадресации портов непосредственно с удаленного хоста. Ваш конфиг будет длиннее:
Host remote-forwarded
Hostname localhost
Port 2222
Host jumpbox
Hostname jumpbox-host
Host remote
Hostname remote-host
ProxyCommand ssh -W %h:%p jumpbox
LocalForward 2222 localhost:22
В противном случае он должен работать так же, сначала
SSHPASS=password sshpass -e ssh remote
а затем непосредственно к другому хосту:
ssh remote-forwarded