linux之间和linux与windows之间用命令行进行文件传输

linux之间

传送单个文件:
scp 文件 [email protected]:上传要存的路径
传送文件夹:
scp -r 文件夹 [email protected]:上传要存的路径

下载单个文件:
scp [email protected]:文件 本地要存的路径
下载文件夹:
scp -r [email protected]:文件夹 本地要存的路径

带密码操作:
在上面语句前面增加 sshpass -p '密码’

linux向windows免密传文件

首先需要在windows机上安装openssh:链接 https://openssh.en.softonic.com/

由于用命令行进行传输需要输入windows机的账户和密码,但是windows上的账户半天都找不到是什么,于是用opnessh创建虚拟windows账户。以下是详细操作

启动之后,会出现一个openssh的图标
linux之间和linux与windows之间用命令行进行文件传输_第1张图片
双击,出现如下窗口,点击红圈内容
linux之间和linux与windows之间用命令行进行文件传输_第2张图片
点击Add添加虚拟账户linux之间和linux与windows之间用命令行进行文件传输_第3张图片
分别设置账户密码,这里账户记为AAA,密码设为了123
linux之间和linux与windows之间用命令行进行文件传输_第4张图片
完成后在界面会出现一个一行为AAA的
linux之间和linux与windows之间用命令行进行文件传输_第5张图片
以下内容在linux命令行内输入:

sshpass -p '123' scp 你要传的文件的路径 AAA@windows机IP地址:/e:/new/

AAA就是你上面设置的虚拟账户,123是密码,以上表示将你的文件传到windows机的E盘里的new文件夹里

windows向linux免密传文件

以下内容参考源自:https://my.oschina.net/u/3307502/blog/1587025
windows端需要下载pscp和puttygen,打开下载链接:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
在这里插入图片描述
linux之间和linux与windows之间用命令行进行文件传输_第6张图片
在C:\Program Files (x86)创建一个pscp文件夹把这俩放进去(其实放哪都可以)
linux之间和linux与windows之间用命令行进行文件传输_第7张图片
这2个文件就相当于是命令行的命令了,为了能在任何地方都使用他,我们需要配置环境变量,操作如下:
1.右键我的电脑——点击“属性”
2.高级系统设置
linux之间和linux与windows之间用命令行进行文件传输_第8张图片
3.点击环境变量
linux之间和linux与windows之间用命令行进行文件传输_第9张图片
4.选中Path,然后点击编辑
linux之间和linux与windows之间用命令行进行文件传输_第10张图片
5.将pscp和putty所在路径,即C:\Program Files (x86)\pscp,添加进去。这样就可以在任何地方打开命令行使用这2个命令了。

手动输入密码传输:
下面的免密传输主要用于代码脚本中,如果只是传输零散文件手动输入密码即可
传文件:pscp 文件 user@服务器ip:/home/user/
传文件夹:pscp -r 文件夹 user@服务器ip:/home/user/
免密传输:
需要配置点东西。
打开puttygen,点击generate
在这里插入图片描述
在此空白区域随便移动鼠标,上面进度条就会满
linux之间和linux与windows之间用命令行进行文件传输_第11张图片
点击Save private key,将私钥保存到C:\Program Files (x86)\pscp\(其实存哪也可以,放一起好管理而已),命名为club.ppk
linux之间和linux与windows之间用命令行进行文件传输_第12张图片
接着,进入你要免密传文件到的linux服务器,在你的用户目录即 cd ~ 的这个地方,进入.ssh目录(这里有一个点注意,表示隐藏文件夹,没有就自己创一个),新建并编辑文件 authorized_keys,将下图这个选中这一串公钥,复制到authorized_keys文件里去,最后的 类似rsa-key-20171208这样的不要放进去,最终以两个等号结尾。至此完成
linux之间和linux与windows之间用命令行进行文件传输_第13张图片

传文件:pscp -i C:\Program Files (x86)\pscp\club.ppk file user@服务器ip:/home/user/
传文件夹:pscp -i C:\Program Files (x86)\pscp\club.ppk -r .\folder user@服务器ip:/home/user/
windows本地文件夹必须要用“\”,若用“/”会把里面的文件散开来传输

你可能感兴趣的:(linux)