在win10上使用SSH和SCP

在这里插入图片描述

前言

最近写了一个微服务项目,本地调试很麻烦,每次修改一部分都得把代码提交到仓库,再用Jenkins编译。整个流程感觉有点慢,想着改完代码执行一个脚本,直接编译并且将jar包发布到测试环境上。幸运的是win10已经支持ssh和scp命令了,所以我可以用scp命令来实现我的想法了,无图无真相

在这里插入图片描述

ssh登陆Linux一般有两种形式
1.用户名和密码(每次登陆都需要输入密码)
2.用户名公钥

使用ssh和scp命令的前提是你本地的公钥配置在服务器上的authorized_keys文件中,过程如下。

创建SSH Key

在windows下查看【c盘->用户->自己的用户名->.ssh】下是否有id_rsa、id_rsa.pub文件,如果没有需要手动生成

ssh-keygen -t rsa -C "[email protected]"

-t 指定密钥类型,默认即 rsa ,可以省略
-C 设置注释文字,比如你的邮箱,可以省略

接着一路回车,如果想设置密码,自己可以设置一下,如果成功的话【c盘>用户>自己的用户名>.ssh】目录已经生成好了,里面包括id_rsa(私钥)、id_rsa.pub(公钥)

把公钥追加在Linux服务器上的~/.ssh/authorized_keys的文件中即可通过公钥登陆

SSH

命令格式如下,可以不指定端口,默认为22

ssh -p <端口> <用户名>@<IP地址>

SCP

命令格式如下,可以不指定端口,默认为22

scp -P <端口> <filename> <用户名>@<IP地址>:<目标目录>

我直接写了一个bat脚本,每次改完代码执行脚本,编译打包发布一气呵成,scp命令传输文件很快。

deploy.bat

call gradle build -x test
cd ./build/libs
scp demo.jar username@ip:/opt/application/
cd ../../
@pause

call gradle build -x test 这是gradle打包命令,你可以类比为maven的mvn clean package -DskipTests=true

推荐

在这里插入图片描述

参考博客

[1]https://cynickimi.github.io/2019/06/18/win-ssh-scp/
[2]

发布了383 篇原创文章 · 获赞 1064 · 访问量 55万+

猜你喜欢

转载自blog.csdn.net/zzti_erlie/article/details/100526566