文件和指指令跨服务器传输

本文最后更新于:2021年1月8日 晚上

传送与接收文件

# 将『本地文件』传送到远程服务器
scp /opt/soft/nginx.tar.gz  root@192.168.120.204:/opt/soft/scptest

# 将『本地整个目录』传送到远程服务器
scp -r /opt/soft/mongodb  root@192.168.120.204:/opt/soft/scptest

# 从远程服务器拷贝文件到本地
scp root@192.168.120.204:/opt/soft/nginx.tar.gz   /opt/soft/

# 从远程服务器拷贝整个目录到本地
scp -r root@192.168.120.204:/opt/soft/mongodb  /opt/soft/
  • ip地址指定端口时,一定要紧跟在scp后面

    scp -P 6001 root@192.168.120.204:/opt/soft/nginx.tar.gz   /opt/soft/
  • 通过生成ssh秘钥来避免多次输入密码

    # 生成秘钥文件,存储在~/.ssh文件夹下
    ssh-keygen  -t  rsa
    
    # 将该秘钥文件传送给要访问的服务器
    cd ~/.ssh
    scp -r id_rsa.pub 10.10.10.17:/root/.ssh/authorized_keys

指令跨服务器传输

# 连接到服务器并执行相应指定,得到返回值
ssh -p 6001 user@192.168.120.204 "cd /home ; ls" 

参考链接

【1】linux命令——scp 两台linux机器间文件或目录传输

【2】Linux 实现scp传送不需要密码

【3】在本地shell脚本中ssh到远程服务器并执行命令