sshpass:找不到命令错误
sshpass: command not found error
我正在尝试自动执行文件传输或 FTP 从一台服务器到另一台服务器。
#!/bin/bash
### In this model, the same filename is processed on each run.
### A timestamp is added to the result file and data file is copied to the archive or error folder with a timestamp after processing.
# Set current directory
cd `dirname "[=10=]"`
# Set the environment variables
. ./Environment.sh [=10=]
#######################################################################################################
#
#######################################################################################################
FILE=/hcm/Inbound/file.csv
sshpass -p 'xyz' sftp -oBatchMode=no -b - -oStrictHostKeyChecking=no zys@192.abc.taleo.net <<_EOF_
cd /upload/
put $FILE
_EOF_
# Exit
exit $?
当我执行此 shell 脚本时,我在 putty 中收到以下错误:
-bash: sshpass: command not found
我尝试通过 ssh-keygen -t dsa
和其他步骤使用 ssh 无密码方法,但我无法访问第二台服务器的 putty,因此我无法执行后续步骤。
请帮忙
您将需要在您所在的客户端服务器上安装 sshpass 运行 您的代码中包含的工具在大多数 Linux 发行版
上均未默认安装
如果您在 Ubuntu 使用此命令
apt-get install sshpass
在 centOS/redhat 使用这个
安装 epel
wget
https://archives.fedoraproject.org/pub/archive/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
安装 sshpass
yum --enablerepo=epel -y install sshpass
谢谢
NO!!!! 不要安装 sshpass。它不是适合您工作的工具。
它不是为您的用例编写的,如果您使用它,您的脚本的安全性将大大降低。我应该知道我在说什么。我写的。
相反,运行 您的服务器提供调试信息并找出您未能设置基于密钥的身份验证的原因。最好使用 sshpass
以各种可能的方式。
我为 CentOS 7 得到的一个解决方案:
- 从 here
下载 sshpass
然后将下载 rpm。
- 将此 rpm 传输到您的 linux 系统(您可以使用 filezilla 等)。
- 安装 Rpm 使用:
yum install <rpm file name>
.
完成
我正在尝试自动执行文件传输或 FTP 从一台服务器到另一台服务器。
#!/bin/bash
### In this model, the same filename is processed on each run.
### A timestamp is added to the result file and data file is copied to the archive or error folder with a timestamp after processing.
# Set current directory
cd `dirname "[=10=]"`
# Set the environment variables
. ./Environment.sh [=10=]
#######################################################################################################
#
#######################################################################################################
FILE=/hcm/Inbound/file.csv
sshpass -p 'xyz' sftp -oBatchMode=no -b - -oStrictHostKeyChecking=no zys@192.abc.taleo.net <<_EOF_
cd /upload/
put $FILE
_EOF_
# Exit
exit $?
当我执行此 shell 脚本时,我在 putty 中收到以下错误:
-bash: sshpass: command not found
我尝试通过 ssh-keygen -t dsa
和其他步骤使用 ssh 无密码方法,但我无法访问第二台服务器的 putty,因此我无法执行后续步骤。
请帮忙
您将需要在您所在的客户端服务器上安装 sshpass 运行 您的代码中包含的工具在大多数 Linux 发行版
上均未默认安装如果您在 Ubuntu 使用此命令
apt-get install sshpass
在 centOS/redhat 使用这个 安装 epel
wget https://archives.fedoraproject.org/pub/archive/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
安装 sshpass
yum --enablerepo=epel -y install sshpass
谢谢
NO!!!! 不要安装 sshpass。它不是适合您工作的工具。
它不是为您的用例编写的,如果您使用它,您的脚本的安全性将大大降低。我应该知道我在说什么。我写的。
相反,运行 您的服务器提供调试信息并找出您未能设置基于密钥的身份验证的原因。最好使用 sshpass
以各种可能的方式。
我为 CentOS 7 得到的一个解决方案:
- 从 here 下载 sshpass
然后将下载 rpm。
- 将此 rpm 传输到您的 linux 系统(您可以使用 filezilla 等)。
- 安装 Rpm 使用:
yum install <rpm file name>
.
完成