文件传输

在Linux中用scp进行远程复制文件时需要输入密码,这对于复制大文件使用nohup后台执行的时候是非常糟糕的,但我们可以生成一对密钥,把公钥放置在远程主机上,这样再使用scp时就无须输入密码,具体做法如下:

需求场景:现有主机A、主机B,要从主机A复制文件到主机B。

1.在主机A上使用命令ssh-keygen -t rsa生成一对密钥,命令执行后敲回车直至结束,执行完后在/root/.ssh目录下会出现两个文件id_rsa和id_rsa.pub


2.把主机A的id_rsa.pub复制到主机B的/root/.ssh/目录下,并改名为authorized_keys,至此从主机A复制文件到主机B就无须输入密码。

将id_dsa.pub追加到授权的key中,键入一下命令:

cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys


jenkins用户 f发布到远程服务器,需要确认jenkins 运行使用的用户,注意要将jenkins用户的公钥给到远程服务器对应用户(可新建.ssh文件夹,将jenkins 公钥放进来)

https://blog.csdn.net/leonnew/article/details/118796145



jenkins使用案例

DATE=`date +%Y%m%d%H%M`

ssh tomcat@172.22.1.77 " cd /home/tomcat; tar czvf namls$DATE.tgz namls; rm -rf namls; mkdir namls " 

cd target/namls/

scp -r * tomcat@172.22.1.77:/home/tomcat/namls/



另外 ssh 如果要直接运行命令,

例子:

source .bash_profile  (本用户环境变量所在文件,全局一般在etc/profile,一般ssh默认执行.bashrc,并需要看本用户是否能调用配置的JDK等软件,拥有权限)

cd /home/tomcat/tomcat

bash -xe bin/shutdown.sh

bash -xe bin/startup.sh

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容