jenkins远程ssh部署问题

SSH登录有两种方式:
一、口令登录
二、公钥登录

jenkins通过ssh插件实现远程部署,首先是要在jenkins所在的机台使用ssh工具生成RSA密钥对,也就是一对公钥和私钥

然后在jenkins里加入私钥
在这里插入图片描述
在这里插入图片描述
jenkins所在机台私钥
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
远端的服务器中known_hosts必须有公钥在里面
在这里插入图片描述
运行远端脚本后发现有问题
先看网上的一个解析
在这里插入图片描述
所以最终在脚本里加入

在这里插入图片描述
疑问:
其实,平时使用Xshell客服端工具登录linux,和jenkins等其他通过ssh登录有什么不同?非要重新执行下 /etc/profile 环境

linux有几种登录方式?有什么不一样?环境也有什么不一样?

“source filename”与“sh filename”、“./filename”这三个命令都可以用于执行一个脚本文件,那么它们之间的区别又如何呢?
(一)
当shell脚本具有可执行权限时,用sh filename与./filename是没有区别的。./filename是因为当前目录没有在PATH中,所以"."是用来表示当前目录的。
(二)
sh filename会重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell是新建的,其改变的变量不会被带回父shell,除非使用export。
(三)
source filename读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。


版权声明:本文为weixin_41490593原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。