SSH в скриптах: sshpass
Модераторы: Olej, bellic, vikos
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
SSH в скриптах: sshpass
Об этом уже было: удалённый SSH...
Но это настолько важно и часто, что стоит отдельной темы! - как устанавливать SSH соединение без запроса пароля соединения?
Но это настолько важно и часто, что стоит отдельной темы! - как устанавливать SSH соединение без запроса пароля соединения?
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
SSH в скриптах: sshpass
Код: Выделить всё
olej@R420:~$ aptitude show sshpass
Пакет: sshpass
Версия: 1.06-1
Состояние: установлен
Установлен автоматически: нет
Приоритет: дополнительный
Раздел: universe/utils
Сопровождающий: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Архитектура: amd64
Размер в распакованном виде: 30,7 k
Зависит: libc6 (>= 2.15)
Рекомендует: ssh-client
Описание: Non-interactive ssh password authentication
SSH's (secure shell) most common authentication mode is called "interactive keyboard password authentication", so called both because it is
typically done via keyboard, and because openssh takes active measures to make sure that the password is, indeed, typed interactively by the
keyboard. Sometimes, however, it is necessary to fool ssh into accepting an interactive password non-interactively. This is where sshpass
comes in.
SECURITY NOTE: There is a reason openssh insists that passwords be typed interactively. Passwords are harder to store securely and to pass
around securely between programs. If you have not looked into solving your needs using SSH's "public key authentication", perhaps in
conjunction with the ssh agent (RTFM ssh-add), please do so before being tempted into using this package.
Домашняя страница: http://sourceforge.net/projects/sshpass
Код: Выделить всё
olej@HP-Compaq:~$ which sshpass
/usr/bin/sshpass
Код: Выделить всё
$ sshpass -p <password> ssh ...
Или так же - для команд передачи файлов:
Код: Выделить всё
$ sshpass -p <password> sftp ...
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
SSH в скриптах: sshpass
А как это станет работать с адресами IPv6
Код: Выделить всё
olej@R420:~$ host ygg.linux-ru.lib
ygg.linux-ru.lib has IPv6 address 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771
Код: Выделить всё
olej@R420:~$ ssh olej@221:58c9:9a6:99be:f3d:c1ac:2b5b:9771
olej@221:58c9:9a6:99be:f3d:c1ac:2b5b:9771's password:
Linux 277938.local 4.19.0-23-amd64 #1 SMP Debian 4.19.269-1 (2022-12-20) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed May 10 19:05:07 2023 from 193.28.177.65
...
Код: Выделить всё
olej@R420:~$ cat ./ssh.ygg.linux-ru.lib
sshpass -p xxxxxx ssh olej@221:58c9:9a6:99be:f3d:c1ac:2b5b:9771
Код: Выделить всё
olej@R420:~$ ./ssh.ygg.linux-ru.lib
Linux 277938.local 4.19.0-23-amd64 #1 SMP Debian 4.19.269-1 (2022-12-20) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed May 10 19:21:16 2023 from 21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f
Код: Выделить всё
olej@277938:~$ who
olej tty1 2023-03-29 11:16
olej pts/0 2023-05-10 13:53 (193.28.177.65)
olej pts/2 2023-05-10 19:04 (193.28.177.65)
olej pts/3 2023-05-10 19:05 (193.28.177.65)
olej pts/5 2023-05-10 19:21 (21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f)
olej pts/6 2023-05-10 19:24 (21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f)
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
SSH в скриптах: sshpass
Есть одна (неприятная) фишка в использовании sshpass:
- если в ~/ssh/known_hosts ещё нет записи относительно целевого хоста, или она поменялась (бывает при перенастройках хоста)...
- то команда ssh запросит формирование такой записи, или скажет что она поменялась и подскажет как исправить (см. сюда удалённый SSH)...
- но sshpass глухо завершися ошибкой:
Код: Выделить всё
olej@esprimop420:~/2023$ nslookup linux-ru.ru
Server: 1.1.1.1
Address: 1.1.1.1#53
Non-authoritative answer:
Name: linux-ru.ru
Address: 90.156.230.27
Код: Выделить всё
olej@esprimop420:~/2023$ time sshpass -p zzzzzz sftp olej@90.156.230.27:backup-11.05.2023_20-21.tgz
Host key verification failed.
real 0m0,505s
user 0m0,012s
sys 0m0,005s
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
SSH в скриптах: sshpass
Этому делу легко помочь (но это если угадать что происходит) - один простой коннект в протоколе SSH:
Код: Выделить всё
olej@esprimop420:~/2023$ ssh olej@90.156.230.27 hostname
The authenticity of host '90.156.230.27 (90.156.230.27)' can't be established.
ECDSA key fingerprint is SHA256:Zy7Qjz2Pd0ylCA6jUOGLpiY9ORdHUD9YZsuJ55epLok.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '90.156.230.27' (ECDSA) to the list of known hosts.
olej@90.156.230.27's password:
277938.local
Код: Выделить всё
olej@esprimop420:~/2023$ time sshpass -p zzzzzz sftp olej@90.156.230.27:backup-11.05.2023_20-21.tgz
Connected to 90.156.230.27.
Fetching /home/olej/backup-11.05.2023_20-21.tgz to backup-11.05.2023_20-21.tgz
real 2m5,028s
user 0m0,226s
sys 0m0,322s
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей