两个要点:
- windows有open ssh
- 终端间免密登陆(密钥对的设置)
step 1:参考链接windows安装open ssh
step 2: 设置设备的免密登陆
现有设备A
(Linux)及需要拷贝到终端B
(Windows)的文件\Users\user_a\Documents\fileA.cpp
,和C
(Linux)与其需要拷贝到A
的文件\Users\user_c\Documents\filec.cpp
,
Linux向Windows的免密访问(A->B):
- 生成密钥对:在Linux上输入指令
ssh-keygen -t rsa
将生成密钥,(也有可能提示已有相应文件,会询问是否进行替换),包含id_rsa
和id_rsa.pub
两个文件,文件目录通常在~\.ssh\
下面 - 添加公钥到
B
: 将生成的id_rsa.pub
中的内容添加到B
的Users\user_b\.ssh\authorized_keys
中。
如果B
本身没有这个文件,可以直接将pub key改名挪过去。如果已经存在这个文件,需要新起一行将pub key内容粘贴进去。
需要注意的问题是,如果直接从终端粘贴有可能会把整段key当成了多段文字复制,在复制到windows中时可能会引入了换行符,这个地方需要注意,每个pub key都应该是只占一行的!!!
拷贝方式多种多样,scp或者samba下直接复制粘贴等都可以,不赘述 - 进行传输:
这个地方写了一个D盘的路径作为参考(自己一开始因为D盘路径格式问题还费了会儿力气
scp \Users\user_a\Documents\fileA.cpp user_b@ip_address:\Destination\fileA.cpp
scp \Users\user_a\Documents\fileA.cpp user_b@ip_address:D:\Destination\fileA.cpp
写这篇blog的时候没有环境资源,凭记忆写的路径,如果有问题烦请大家告知哈,谢谢各位!
Linux向Linux的免密访问(C->A):
流程差不多,就是authorized_keys的路径不一样,是在pub key的目录下面