De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Marcos Aguinaldo Forquesato
Data de Publicação: 26 de Abril de 1998
Estou anexando a esta mensagem um shell script, usando expect, para viabilizar conexões FTP sobre sessões com SSH.
Hello SSH users, In the FAQ of SSH it is mentioned that FTP over SSH can be used. Sure, but it is a little bit unfriendly to use. First you have to establish an SSH connection, then the FTP connection over it, etc. To automate this process I've written a short Expect-based script named "sshftp". Its usage is simple and looks like this: :> sshftp taz.apache.org This is FTP-over-SSH, 1.0 Username: rse Password: Connecting to rse@taz.apache.org: + opening SSH background session + opening FTP foreground session over SSH + switching SSH background session into hangup mode + login to FTP foreground session + switching to FTP data sessions to passive mode FTP over SSH login to rse@taz.apache.org successful. ftp> ls 227 Entering Passive Mode (204,62,130,149,9,249) 150 Opening ASCII mode data connection for /bin/ls. total 206 -rw-r--r-- 1 rse wheel 165 Aug 8 1997 README drwxr-xr-x 3 rse wheel 512 Jul 11 1997 arc drwxr-xr-x 2 rse wheel 512 Jul 25 1997 bin drwxr-xr-x 2 rse wheel 512 Jul 11 1997 etc drwxrwxr-x 2 rse wheel 512 Dec 22 00:33 mirror drwxr-xr-x 4 rse wheel 512 Nov 22 01:25 public_html drwxr-xr-x 12 rse wheel 512 Aug 9 1997 sw drwxr-xr-x 3 rse wheel 512 Apr 11 05:08 tmp 226 Transfer complete. ftp> bye 221 Goodbye. FTP over SSH connection closed rse@en1:/u/rse :> Feel free to use it, because for this I post it here. I'm not subscribed to this list, so please use an additional carbon-copy for me when replying. Greetings, Ralf S. Engelschall rse@engelschall.com www.engelschall.com #!/usr/local/bin/expect ## ## sshftp -- FTP over SSH ## Copyright (c) 1998 Ralf S. Engelschall, <rse@engelschall.com> ## ## Usage: sshftp [<hostname> [<port>]] ## set myname "FTP-over-SSH" set myversion "1.0" # configuration set shell_prompt "(%|#|\\\$|:>) " set ftp_prompt "(ftp)?>" set localport 21021 # program message send_user "This is $myname, $myversion\n" # determine parameters if $argc<1 { send_user "Hostname: " expect_user -re "(.*)\n" set hostname $expect_out(1,string) } else { set hostname [lindex $argv 0] } if $argc<2 { set hostport 21 } else { set hostport [lindex $argv 1] } send_user Üsername: " expect_user -re "(.*)\n" set username $expect_out(1,string) send_user "Password: " stty -echo expect_user -re "(.*)\n" send_user "\n" stty echo set password $expect_out(1,string) # global parameters set timeout 60 log_user 0 send_user "Connecting to $username@$hostname:\n" # create SSH layer send_user " + opening SSH background session\n" eval spawn -noecho ssh -x -l $username -L $localport:$hostname:$hostport $hostname set ssh_id $spawn_id expect -i $ssh_id -re $shell_prompt # create FTP layer send_user " + opening FTP foreground session over SSH\n" eval spawn -noecho ftp localhost $localport set ftp_id $spawn_id expect -i $ftp_id -re "Name.*:" # logout from interactive SSH terminal session # (SSH automatically waits until the FTP session is closed) send_user " + switching SSH background session into hangup mode\n" send -i $ssh_id "logout\r" # login to FTP session send_user " + login to FTP foreground session\n" send -i $ftp_id "$username\r" expect -i $ftp_id "sword:" send -i $ftp_id "$password\r" # switch to passive connect type send_user " + switching to FTP data sessions to passive mode\n" expect -i $ftp_id -re $ftp_prompt send -i $ftp_id "passive\r" # switch to user interaction send_user "FTP over SSH login to $username@$hostname successful." expect -i $ftp_id -re $ftp_prompt log_user 1 send -i $ftp_id "\r" interact # finally exit gracefully wait send_user "FTP over SSH connection closed\n"
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários