выполнить команду удаленно

Discussion in 'Linux, Freebsd, *nix' started by cupper, 13 Apr 2011.

  1. cupper

    cupper Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    369
    Likes Received:
    92
    Reputations:
    5
    нужно выполнить команду на другой системе.
    Подключение возможно по ssh.

    Соль в том что это нужно сделать в скрипте.
    Я помню что когда то давно я уже делал нечто подобное. Но это было на столько давно что я даже не помню что я юзал telnet или ssh. Но суть была в том что я передавать пароль сразу в строке подключения, а далее написанные команды выполнялись уже на другой машине.

    Я помню что я долго искал способ как передать пароль в строке подключения. И помню что инфы об этом было весьма мало, и меня ругали на разных форумах из за того что пароль придется хранить в открытом виде.

    но цель была достигнута... и... блин не сохранена. Теперь опять искать. Мож кто подскажет ?
     
  2. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Вариант 1. Настроить авторизацию по ключам на сервере, сгенерить открытый и закрытый ключ, первый залить на сервак. Затем все это юзается через баш
    Code:
    $ ssh [email protected] cat /etc/hosts 
    
    Вариант 2. Откройте для себя expect. Пароль в таком скрипте будет храниться в открытом виде, поэтому позаботьтесь о правильных правах (chmod 0700 script.exp)
     
  3. cupper

    cupper Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    369
    Likes Received:
    92
    Reputations:
    5
    первый вариант не уверен что подойдет, из за того что эти скрипты будут переносится и неизвестно кто и для каких систем будет их запускать, а писать мануал что мол нужно ключи сгенерить сюда положить - непрокатит.

    об except уж глазом спотыкался, не совсем удобно из за того что нужно выносить в отдельный скрипт который потом будет из sh скрипта запускаться. Получается для каждого набора команд нужно будет иметь свой скрипт их выполнения ? то же не айс.


    PS. к тому же его вроде как нету в поставке по умолчанию.
     
    #3 cupper, 13 Apr 2011
    Last edited: 13 Apr 2011
  4. jnpe

    jnpe Banned

    Joined:
    10 Dec 2010
    Messages:
    157
    Likes Received:
    42
    Reputations:
    19
    "вы предлагайте а я буду выбирать" так?
     
  5. cupper

    cupper Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    369
    Likes Received:
    92
    Reputations:
    5
    ну как и обычно в любом топике. Яслиб я знал удовлетворяющий меня ответ на свой вопрос я бы и тему не создавал. А так я сижу и в надежде смотрю на монитор, надеясь что кто то владеет нужно мне информацией.

    PS. быстренько навоял с открытым ключом - работает. Напишука я еще скрипт для "подготовки почвы" настройки ssh :)
     
    #5 cupper, 13 Apr 2011
    Last edited: 13 Apr 2011
    2 people like this.
  6. jnpe

    jnpe Banned

    Joined:
    10 Dec 2010
    Messages:
    157
    Likes Received:
    42
    Reputations:
    19
    нужно удаленное выполнение команд.
    - скрипты будут переносится и неизвестно кто и для каких систем будет их запускать

    - не нужно выносить в отдельный скрипт который потом будет из sh скрипта запускаться т.е. что бы для каждого набора команд не иметь свой скрипт их выполнения


    ЗЫ все условия четко сформулируй, а то "вот вам гипс, айда мужики лепить статУю, какую хз но чтоб рожа красивая была"