Вы можете запустить
ssh-agent
в следующей оболочке и в новую экспортировать переменную среды (например, из файла, созданного в первой)ssh-agent > ~/.ssh_agent_env source ~/.ssh_agent_env
Вас могут спросить о парольной фразе, используя приглашение GUI, которое предоставляется
ssh
переменной окруженияSSH_ASKPASS
. В линуксе обычноgnome-askpass
или аналогично. В cygwin тоже будет нечто подобное.Есть
AddKeysToAgent
опция, которая добавит недавно использованные ключи к работе,ssh-agent
чтобы достичь того, что вам нужно.
И то и другое требует некоторого кодирования / проверки перед вызовом финала ssh
, например, скрипт bash, который вы можете вызвать RemoteShell exex /path/to/my/script.sh
, например:
#!/bin/bash ps aux | grep ssh-agent | grep -v grep if [ "$?" = "1" ]; then # start a new agent (in a background) and store its environent ssh-agent > ~/.ssh_agent_env end # load existing ssh-agent connection source ~/.ssh_agent_env /bin/xterm.exe -e /usr/bin/ssh -oAddKeysToAgent=yes -Yl <user> RemoteHost # or do whatever magic you want