Ubuntu18.04下通过zssh与服务器进行上传/下载文件操作

简介

  • zssh(Zmodem SSH)是一个程序,用于在使用 ssh 时以交互方式将文件传输到远程计算机。它旨在方便的替代 scp 传输文件,而无需打开另一个会话并重新验证自己。

  • zssh 是 ssh 的交互式包装器,用于切换远程 shell 和文件传输之间的 ssh 连接。这是通过在用户和本地 ssh 进程之间使用另一个 tty/pty 对来实现:在 ssh 连接上插入用户的 tty(远程 shell 模式)或另一个进程(文件传输模式)。

  • ztelnet 的行为类似于 zssh,除了使用 telnet 而不是 ssh。它相当于'zssh -s"telnet -8 -E"'。

  • rz 和 sz 命令通过 zmodem 协议传输文件。

Ubuntu18.04下安装zssh

sudo apt install zssh

zssh的简单使用

先使用zssh登录远程服务器

  1. zssh 登录远程服务器的用户名@服务器IP/域名
  2. 然后在输入用户名对应的密码即可远程登录服务器

从本地上传文件至远程服务器

  1. 在需要存放上传文件的路径下输入rz命令
    1. 若提示-bash: rz: 未找到命令,则需要先安装lrzsz
    2. CentOS下安装lrzsz
      	yum -y install lrzsz
      
  2. 接下来按Ctrl + @键进入zssh的交互式shell
  3. 输入pwd查看当前所在路径(注意这个路径是本地Ubuntu18.04中的路径)
  4. cd 目录名进入需要被上传文件的路径或ls查看当前路径下有哪些文件
  5. 然后输入sz 文件名即可将需要上传的文件上传到服务器
    	zssh > sz main.go 
    	Sending: main.go
    	Bytes Sent:   1420   BPS:3489                            
    
    	Transfer complete
    
  6. 然后就可以看到刚刚的main.go文件已经被上传到服务器上了。
    	[root@aliyun ~]# ll
    	总用量 8
    	-rwxr-xr-x 1 root root 1899 5月   6 13:00 cms_install.sh
    	-rw-r--r-- 1 root root 1420 1月  12 15:46 main.go
    	[root@aliyun ~]#
    

从远程服务器下载文件至本地

  1. 在需要下载文件所在的路径下输入sz 文件名命令
    1. 若提示-bash: sz: 未找到命令,则需要先安装lrzsz
    2. CentOS下安装lrzsz
      	yum -y install lrzsz
      
  2. 接下来按Ctrl + @键进入zssh的交互式shell
  3. 输入pwd查看当前所在路径(注意这个路径是本地Ubuntu18.04中的路径)
  4. cd 目录名进入存放下载文件所在的路径或ls查看当前路径
  5. 然后输入rz即可将需要下载的文件下载到本地
    	[root@aliyun ~]# sz cms_install.sh 
    	�B00000000000000
    	zssh > rz
    	Receiving: cms_install.sh                                            
    	Bytes received:    1899/   1899   BPS:57420                 
    
    	Transfer complete
    
  6. 然后就可以看到刚刚的cms_install.sh文件已经被下载到本地了。