Eu diria que toda a mecânica de sessões de FTP, separar dados e controlar conexões indo em direções opostas, diretórios atuais, etc, seria difícil e sem sentido implementar dentro do ssh. A cópia poderia apenas reutilizar a conexão e o fato de estar executando um shell no outro lado (o que nem sempre acontece).
Para a cópia rápida de arquivos, você pode apenas reutilizar a conexão existente. Vamos supor que você esteja usando o OpenSSH.
Faça uma conexão ssh normal e, quando precisar copiar um arquivo, use outra janela de terminal / janela tmux / tty para emitir um comando scp
.
Se você tiver ControlMaster
set (globalmente ou para um determinado grupo de hosts) em seu ~/.ssh/config
, scp
reutilizará sua conexão existente e não solicitará senhas nem perderá tempo reconectando.
O único problema é que o scp
não se anexará à sua sessão existente e reutilizará o diretório atual desse shell. Mas isso nem sempre é possível: imagine que seu shell remoto já esteja executando um processo diferente ( tmux
, mc
, tail -f
, etc). Então você tem que escrever na íntegra: scp index.html hemote.host:path/to/www/
. Geralmente não é difícil copiar o caminho da janela remota.
Infelizmente, ~ Ctrl + Z ou ~ & não funcionará para sessões multiplexadas, então se tudo o que você tem é um único VT-220 antigo, você deve ter executado tmux
ou screen
de antemão.
O mesmo se aplica a rsync
ou sshfs
ou mesmo sftp
que suportem diferentes modelos de envio de dados, mas que também possam compartilhar a conexão.