установка sshpass на amazon linux AMI на экземпляре ec2

Я планирую автоматизировать миграцию сервера aws-rackspace. Я следую официальной документации по стойкам (https://github.com/cloudnull/InstanceSync/blob/master/rsrsyncLive.sh), который использует rsync для миграции. Я изменил код, чтобы использовать sshpass для динамического предоставления пароля для входа при установлении SSH-соединения с удаленным сервером.

sshpass -p "YOUR_PASSWORD" ssh -o StrictHostKeyChecking=no username@IPAddress

Но у меня возникли проблемы с установкой пакета sshpass.

Debian based Distros - Installed Successfully
CentOS - Installed Successfully
Redhat - Package not found (yum list available | grep sshpass) 
Amazon Linux -  Package not found (yum list available | grep sshpass) 

Я даже попробовал «yum update», а затем «yum -y install sshpass», но это не сработало.

Спасибо,


person Pattu    schedule 05.02.2014    source источник


Ответы (6)


Вам необходимо вручную загрузить исходный код sshpass, после этого

Extract it and cd into the directory
./configure
sudo make install

Примечание: Если вы не нашли make, вы можете запустить следующую команду для установки make.

sudo yum groupinstall "Development Tools"
person Rahul R Dhobi    schedule 05.02.2014

Я нашел этот ответ на другой странице переполнения стека, но он работал у меня, когда yum install sshpass был возвращение

«Нет доступного пакета sshpass»

при попытке установить на экземпляр AWS.

Команда:

yum --enablerepo=epel -y install sshpass
person Ryan R    schedule 24.02.2018

Я подумал, что некоторые детали могут помочь сделать это быстро.

Здесь можно загрузить sshpass (поиск последних обновлений): http://sourceforge.net/projects/sshpass/files/sshpass/1.05/ И со страницы получите URL-адрес для загрузки, как показано ниже

$ wget http://sourceforge.net/projects/sshpass/files/sshpass/1.05/sshpass-1.05.tar.gz/download # on your amazon instance, to download using command line / terminal; this will get you a file named "download"

$ mv download sshpass-1.05.tar.gz # note this is the name as in the URL above

$ gunzip sshpass-1.05.tar.gz
$ tar xvf sshpass-1.05.tar

$ cd sshpass-1.05

$ sudo yum groupinstall "Development Tools" # in case configure & make (next 2 commands) does not work, else dont run this command

$ sudo ./configure

$ sudo make install

$ sudo -s
# which sshpass #sudo -s and check if sshpass is in the path; on amazon RHEL, for me the root did not have /usr/local/bin in its path; so you may want to set the path appropriately (echo $PATH), or copy sshpass to one of the $PATH directories
person skdev75    schedule 12.09.2014
comment
Полезное дополнение к принятому ответу. Однако я хотел бы отметить, что ./configure не требует sudo. Вероятно, вам также следует сначала запустить make без sudo для компиляции, а когда это будет сделано, запустите sudo make install. - person jhonkola; 13.10.2014

На Amazon Linux 2 я делаю так

sudo amazon-linux-extras install epel -y
sudo yum-config-manager --enable epel
sudo yum install sshpass
person MoVod    schedule 25.06.2021

  1. Загрузить rpm-файл
  2. # su -
  3. # rpm -ivh [перейти к вашему rpm-файлу]
person Mike    schedule 19.12.2014

На Ansible Master (Amazon Linux) До:

linux1 | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: Permission denied (publickey,password).\r\n",
    "unreachable": true
}

После выполнения следующее:

sudo yum --enablerepo=epel -y install sshpass

Пинг сработал!

linux1 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
person ADV-IT    schedule 16.03.2018