-
Você pode iniciar
ssh-agent
no shell subsequente e ao novo exportar a variável de ambiente (por exemplo, de um arquivo criado no primeiro)ssh-agent > ~/.ssh_agent_env source ~/.ssh_agent_env
-
Você pode receber uma senha usando um prompt da GUI, que é fornecido para
ssh
pela variável de ambienteSSH_ASKPASS
. No Linux, geralmentegnome-askpass
ou similar. Haverá algo semelhante no cygwin também. -
Existe a opção
AddKeysToAgent
, que adicionará as chaves usadas recentemente à execuçãossh-agent
para obter o que você precisa.
Ambos precisariam de algumas codificações / verificações antes de chamar o% final ssh
, por exemplo, um script bash que você pode chamar no RemoteShell exex /path/to/my/script.sh
, por exemplo:
#!/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