2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > Linux scp 远程复制

Linux scp 远程复制

时间:2021-03-01 17:24:35

相关推荐

Linux scp 远程复制

scp命令

Linux下可以使用scp远程复制,命令如下

scp -P 22222 -r wlx.text root@222.222.xx.xx:/root

参数说明:

-P 指定端口

-r 复制目录

wlx.text 要复制的文件

root@222.222.xx.xx:/root 对方用户名 ,IP,位置

按回车后输入密码,然后就直接复制到远程主机上了,这样每次输入密码太麻烦了

sshpass 命令

yum install -y sshpass安装

sshpass -p 123456 scp -P 22222 -r wlx.text root@222.222.xx.xx:/root直接把密码带入

注意

如果没有则说明没有连接过该机器如果直接使用 sshpass 一般会报一个Host key verification failed.错误,因为该远程机器从未连接过,检查known_hosts文件:vi ~/.ssh/known_hosts ,看有没有该IP(222.222.xx.xx)的信息,如果没有则说明没有连接过该机器.

如果没有使用一下scp命令成功就会生成了,生成这个信息之后,下次直接sshpass 就可以使用了

~/.ssh/known_hosts 文件的作用

ssh会把你所有访问过的电脑的公钥(public key)都记录在~/.ssh/known_hosts文件。

当下次访问相同电脑时,OpenSSH会核对公钥,

如果核对不上,OpenSSH会发出警告, 避免你受到DNS Hijack之类的攻击。

jenkins 问题

jenkins部署时执行scp命令,也会报Host key verification failed.错误。报这个问题是因为Jenkins安装的时候/etc/passwd文件中的/bin/bash被yum安装变成了/bin/false.

vim /etc/passwd

使用su jenkins切换到jenkins用户后,命令提示符的用户名不是jenkins而变成了-bash-4.2#

原因是在安装jenkins时,jenkins只是创建了jenkins用户,并没有为其创建home目录。所以系统就不会在创建用户的时候,自动拷贝/etc/skel目录下的用户环境变量文件到用户家目录,也就导致这些文件不存在,出现-bash-4.2#的问题了

以下命令是在切换到jenkins用户下执行的!(只是用户现在显示的是-bash-4.2)

这个时候需要切会root用户先对.bash_profile 做修改

vim ~/.bash_profile

export PS1='[\u@\h \W]\$'在最后输入,结果如下

source ~/.bash_profile刷新.bash_profile文件,使其起作用

su jenkins在切换回jenkins用户,已显示用户名了

在jenkins用户下执行scp或部署中的脚本输入好密码后,就可以切换回boot用户了,然后就可以使用jenkins正常执行命令了

参考:

PS1:命令行提示符环境变量

具体可以参考:/link?url=rMCdJazfyycZlY5xN-peNO-pUwTcPMROlXvrZZjE2EV9fDA7513e1JsiGXiWPlBWgArqrHNGu4yBvwNSY0Y79_

jenkins配置参照: /HHYCSDNBK/article/details/84975095

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。