使用scp复制传输windows文件到linux

(scp基于ssh登录,所以如果没有安装ssh无法进行文件拷贝)

  1. 检查linux是否安装ssh服:ssh localhost
    提示’‘ssh: connect to host localhost port 22: Connection refused’’
    如上所示则说明还没有安装ssh或ssh服务未启动.

2.安装
sudo apt-get install openssh-server (使用的是debian,ubuntu,linux mint等系列)
sudo yum install openssh-server (用的是redhat,fedora,centos等系列linux发行版)

3.开启服务:sudo service ssh start
image.png

4.连接本机验证是否开启成功:sudo ssh localhost
image.png

开启成功后就可以使用scp命令传输文件

5.如是非root用户的linux 就要进行以下配置(或切换到root用户sudo -i 或su)

sudo vim /etc/ssh/sshd_config配置:

       LoginGraceTime 120
       PermitRootLogin yes
       StrictModes yes   
       PubkeyAuthentication yes   
       PasswordAuthentication yes
       ChallengeResponseAuthentication no

保存退出
(即可以使用公钥/也可以使用密码验证,这里我们使用密码)

  1. 重启ssh服务
    sudo service ssh restart

  2. 再次验证
    ssh localhost
    提示成功

尝试在linux本机使用scp
pjqdyd@DESKTOP-HO7V45M:~$ scp -r /usr/src pjqdyd@DESKTOP-HO7V45M:/tmp

即复制/usr/src 目录到本地的 /tmp 回车提示输入密码
image.png

若出现提示"scp: /tmp/: Permission denied"表示我们没有权限修改/tmp文件

8.修改文件权限
cd /usr
sudo chmod 777 src/
llls查看文件目录, src是绿色表示所有用户有权限

cd /
sudo chmod 777 tmp/
llls查看文件目录, tmp是绿色表示所有用户有权限

9.再次执行scp命令就可以了,进入/tmp查看文件:
image.png

  1. 从windows电脑复制文件到linux (这里在win桌面新建了文件夹test)
    C:\Users\Z2>scp -r Desktop/test pjqdyd@DESKTOP-HO7V45M:/tmp/
    (复制目录要加-r 复制文件则不用)
    image.png
    在linux上查看:
    image.png

  2. 在windows电脑复制linux文件下来
    C:\Users\Z2>scp -r pjqdyd@DESKTOP-HO7V45M:/tmp/src C:\Users\Z2\Desktop
    image.png
    (注意:要保证复制的目录/目录中的文件是有访问权限的否则会提示Permission denied)

查看桌面目录:
image.png

  1. 停止使用ssh
    sudo service ssh stop

总结: 当然windows上也可以安装软件如xftp, winscp等图形界面来操作远程复制文件

上面的步骤中,我的win电脑是已经默认有安装OpenSsh的,在C:\Windows\System32\OpenSSH默认有可执行文件,且有环境变量, 所以可以直接在cmd中使用scp命令,如果没有,请安装OpenSsh到win电脑,并确定ssh服务已启动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值