时间:2021-05-19
安装SSHPASS
对于大多数最新的操作系统,sshpass软件包在默认软件包存储库中可用。可以使用以下命令在系统上安装它。
在Debian上:
$ sudo apt install sshpass
在CentOS上:
$ yum --enablerepo = epel -y install sshpass
使用SSHPASS
sshspass使用sshspass环境变量存储用户密码。需要首先使用sshspass变量和密码,然后使用此命令。下面是一个使用sshspass的简单shell脚本。
export SSHPASS=ry3AvbWO0oupYX9HCMzp0Axx
sshpass -e scp testfile.csv user@example.com:/uploads/
还可以使用sshpass运行ssh命令,如下所示
sshpass -e ssh user@example.com
shell脚本中解决SCP命令需要输入密码的问题
使用密钥文件。
这里假设主机A(192.168.100.3)用来获到主机B(192.168.100.4)的文件。
在主机A上执行如下命令来生成配对密钥:
ssh-keygen -t rsa
遇到提示回车默认即可,公钥被存到用户目录下.ssh目录,比如root存放在:
/root/.ssh/id_rsa.pub
将 .ssh 目录中的 id_rsa.pub 文件复制到 主机B 的 ~/.ssh/ 目录中,并改名为 authorized_keys,
到主机A中执行命令和主机B建立信任,例(假设主机B的IP为:192.168.100.4):
scp ~/.ssh/id_rsa.pub 192.168.100.4:/root/.ssh/authorized_keys
下面就可以用scp、ssh命令不需要密码来获取主机B的文件了ssh 192.168.100.4 回车就不需要密码了。
注:其实id_rsa.pub内容添加到对方机器的authorized_keys中就行了
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在测试中需要在两台虚拟机之间传递文件,首先想到的是scp命令,结果提示:-bash:scp:commandnotfound想当然用yuminstallscp命令
背景linux脚本中有很多场景是进行远程操作的,例如远程登录ssh、远程复制scp、文件传输sftp等。这些命令中都会涉及到安全密码的输入,正常使用命令时是需要
scp命令的用处:scp在网络上不同的主机之间复制文件,它使用ssh安全协议传输数据,具有和ssh一样的验证机制,从而安全的远程拷贝文件。scp命令基本格式:s
前言scp是securecopy的缩写,scp是Linux系统下基于ssh登陆进行安全的远程文件拷贝命令。Linux的scp命令可以在Linux服务器之间复制文
当两台LINUX主机之间要互传文件时可使用SCP命令来实现,建立信任关系之后可不输入密码。把你的本地主机用户的ssh公匙文件复制到远程主机用户的~/.ssh/a