1

Добрый день . пишу скрипт который будет выполнять некое действие на удаленном ПК. К примеру через ssh. Но что бы войти на другой Пк как известно нужно ввести юзера и пароль. Так вот как можно зашифровать пароль в скрипте и передать его ?

2

bearwoolfs пишет:

ак вот как можно зашифровать пароль в скрипте и передать его ?

...использовать аутентификацию по ключам, т.е. беспарольный вход. Так будет разумнее, IMHO.

Был, был и весь вышел...

3

Спасибо ) Для решение этой задачки как то я не додумался до ключа ))) . НО в будующем прийдеться передавать пароли и для других программ. Нужен скрипт(

4

bearwoolfs пишет:

Добрый день . пишу скрипт который будет выполнять некое действие на удаленном ПК. К примеру через ssh. Но что бы войти на другой Пк как известно нужно ввести юзера и пароль. Так вот как можно зашифровать пароль в скрипте и передать его ?

не изобретайте велосипед. Есть такая программа, которая генерирует одноразовый криптостойкий пароль, и безопасно отправляет его на сервер. При этом на сервере другая программа проверяет валидность этого одноразового зашифрованного пароля, и далее использует его для шифровки/расшифровки данных. Данная криптосхема называется "шифрование парой закрытого, и открытого ключа", реализовано в частности в SSH. На клиенте должен быть секретный и публичный ключ, а на сервере только публичный.

bearwoolfs пишет:

Спасибо ) Для решение этой задачки как то я не додумался до ключа ))) . НО в будующем прийдеться передавать пароли и для других программ. Нужен скрипт(

не нужен. Безопасная передача пароля УЖЕ реализована в SSH протоколе.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

5

bearwoolfs пишет:

НО в будующем прийдеться передавать пароли и для других программ. Нужен скрипт(

drBatty пишет:

Безопасная передача пароля УЖЕ реализована в SSH протоколе.

Возможно, ТС имеет ввиду сам способ передачи каких-либо текстовых данных, выступающих в роли пароля.
Так в качестве примера приведу возможность монтирования шифрованной файловой системы в пространстве пользователя encfs поверх ssh:
1. Создаём (разумеется, беспарольно, с помощью ключей) sftp-доступ

root@localhost:~# sshfs remoteuser@somehost:/some/path /mnt/sshfsmount/

2. Поверх этого соединения подключаем encfs.

user@localhost:~$ echo "SuperPassword" | encfs -S ~/mnt/sshfsmount/ ~/mnt/encfsmount/

P.S. На самом деле это чуть сложнее выглядит, но алгоритм, думаю, понятен.

Был, был и весь вышел...

6 (18.01.2012 15:54:59 отредактировано drBatty)

Lupo Alberto пишет:

Возможно, ТС имеет ввиду сам способ передачи каких-либо текстовых данных, выступающих в роли пароля.

проще всего ИМХО файлик послать командой scp.

Lupo Alberto пишет:

1. Создаём (разумеется, беспарольно, с помощью ключей) sftp-доступ

root@localhost:~# sshfs remoteuser@somehost:/some/path /mnt/sshfsmount/

вы всё усложняете. Я делаю так:

 Консоль:
$ sshfs aranei: aranei

заметьте - от простого юзера, а НЕ рута. Работать от рута - моветон. Не мне вас учить...

ЗЫЖ перед этой командой я проделал следующее:

1. создал пару ключей на клиенте. ВСЁ ДЕЛАЕМ ОТ ПОЛЬЗОВАТЕЛЯ! на сервере - тоже.

 Консоль:
$ man ssh-keygen

2. публичный ключ перенёс на сервер.
если сервер в зоне досягаемости - то можно перенести на флешке и т.д. Иначе
 Консоль:
$ man ssh-copy-id

файлик key_name.pub надо перенести на сервер в authorized_keys, точнее - добавить к этому файлу. Все эти файлы должны лежать в каталогах ~/.ssh, причём права на каталог 0700, а на файлы 0600. Владелец - юзер.
3. теперь редактируем файл .ssh/config на клиенте.

Host имя_хоста
HostName IP_хоста_или_доменное_имя_если_есть
Compression yes
User имя_юзера
Port 66666 # порт надо выбрать. Например написав $ echo $RANDOM
IdentityFile ~/.ssh/key_name # это секретный ключ

4. на сервере надо сменить номер порта, и рестартануть демон ssh.
потом проверить, и если всё хорошо, запретить логин по паролю. (вот тут понадобятся ненадолго права рута)

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

7

drBatty пишет:

заметьте - от простого юзера, а НЕ рута. Работать от рута - моветон. Не мне вас учить...

Спасибо за замечание. Это только пример. Везде, где у меня есть ssh-доступ, вход от root'а запрещён.

drBatty пишет:

sshfs aranei: aranei

Повторюсь, это был пример, да и так понять проще, что именно я предлагал сделать.

Был, был и весь вышел...