windows scp 免密码文件传输
scp 是基于ssh加密服务的一种文件传输方式,是常见的linux主机间文件传输方式,在windows中也是支持的。
配置目标:
两台windows主机间通过scp命令行传输文件
梳理概念
客户端: 通过命令行实现文件传输的设备
服务器: openssh 服务运行的设备(提供ssh服务,可以实现scp指令操作)
公钥: 对端认证身份的密码,所有人可见
私钥: 自己独立的密码,尽自己可见
服务器配置文件: openssh 服务配置文件,所有的openssh服务器设置选项
-
服务器断配置
1.1 安装openssh服务器
通过 设置-> 应用 -> 应用和功能 -> 可选功能 -> 添加功能 -> 勾选OpenSSH服务器 来安装openssh 服务器
1.2 开启openssh server 服务
win+R 调出命令行,输入 services.msc,找出服务列表, 打开openssh server 服务
-
客户端设置
2.1 在客户端主机,通过 win+ r 调出命令行,通过命令行 ssh-keygen -t rsa 生成密钥对。生成的密钥对在 “ C:\Users***.ssh ” 路径下,见下图:
注意:不要键入密码,直接输入三个回车即可。
2.2 拷贝公钥到服务器端
通过命令行拷贝公钥至服务器端
scp c:\Users\y\.ssh\id_rsa.pub Administrator@192.168.20.163:c:\Users\Administrator\.ssh\authorized_keys
见下图:
-
修改服务端配置文件
通过步骤1后,openssh 的配置文件在 “C:\ProgramData\ssh” 文件夹中,具体的文件名为:sshd_config。修改sshd_config 文件,查找关键字修改,主要如下几点: 确保以下3条没有被注释 PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication no 确保以下2条有注释掉 重点,这两行要注释 #Match Group administrators # AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
-
重启openssh 服务
win+R 调出命令行,输入 services.msc,找出服务列表, 重启openssh server 服务
-
文件传输测试
在客户端主机上通过命令行拷贝一个文件至服务器端scp c:\Users\y\desktop\wechat.bat Administrator@192.168.20.163:c:\Users\Administrator\.ssh\
效果见下图:
由上图可见,不再需要输入密码,即可进行文件传输。