一.scp
scp用于两台主机传输文件
格式:
scp <source> <target>
- 下载文件:
scp <username>@<ip>:<server_file> <client_path>
- 上传文件:
scp <client_file> <username>@<ip>:<server_path>
服务端安装 ssh-server,并开启 ssh 服务
apt install openssh-server
service ssh start
客户端安装 ssh-client,使用 scp 传输文件
apt install openssh-client
scp test.txt root@node0001:/opt
二、sshpass
ssh 登陆不能在命令行中指定密码,需要用户交互输入密码,sshpass 的出现,解决了这一问题。它允许你用 -p 参数指定明文密码,然后直接登录远程服务器,
它支持密码从命令行、文件、环境变量中读取。所以,通过sshpass实现以非交互的形式为ssh提供密码
格式:
sshpass -p <password> ssh <username>@<ip> -p <port>
- 直接登陆:
sshpass -p <passwod> ssh <username>@<ip>
或sshpass -f <passwod_file> ssh <username>@<ip>
- 执行远程命令:
sshpass -p <passwod> ssh <username>@<ip> <commend>
- 下载文件:
sshpass -p <passwod> scp <username>@<ip>:<server_file> <client_path>
- 上传文件:
sshpass -p <passwod> scp <client_file> <username>@<ip>:<server_path>
服务端安装 ssh-server,并开启 ssh 服务
apt install openssh-server
service ssh start
客户端安装 ssh-client、sshpass,使用 sshpass 传输文件
apt install openssh-client
apt install sshpass
sshpass -p 123456 scp test.txt root@node0001:/opt
三、rz 与 sz
rz 与 sz 使用 zmodel 协议,ubuntu 自带的 terminal 不支持 zmodel,最简单的方式是安装 zssh
服务端安装 ssh-server,并开启 ssh 服务;安装 lrzsz
apt install openssh-server
service ssh start
apt install lrzsz
客户端安装 ssh-client、lrzsz、zssh
apt install openssh-client
apt install lrzsz
apt install zssh
下载文件:
# 客户端使用 zssh 登陆到服务端
zssh root@node0001
# 使用 sc 发送服务端文件,此时进入等待,按ctrl + @键,会跳转到客户端
sc server.txt
# 客户端 rz 接受文件
rz
上传文件:
# 客户端使用 zssh 登陆到服务端
zssh root@node0001
# 服务端 rz 接受文件,此时进入等待,按ctrl + @键,会跳转到客户端
rz
# 客户端 sc 发送文件
sc client.txt