my $SSH = system "$ssh_cli $login $ip"; if ($SSH =~ /username/i) {

Sorry, this will not do what you expect. system waits until the command finishes, does not capture the command's output and does not allow interactive communication with the subprocess.

I would instead recommend the module Net::OpenSSH. Its documentation shows you how to integrate it with other modules such as Expect. Since you seem to want to connect to multiple remote machines to execute commands there, you might also take a look at Net::OpenSSH::Parallel (I haven't used it myself yet but I've heard good things).

without the possibility to install any module

I recommend you have a look at Yes, even you can use CPAN. If you really, really can't install any modules, you could have a look at my writeup on interacting with external commands here and you'd have to study perlipc, but I would strongly recommend you follow the above advice to use something like Net::OpenSSH instead. There was even a thread two days ago asking a question similar to yours, in which salva mentioned you can install it simply by copying over its lib directory.


In reply to Re: SSH and expect without module by haukex
in thread SSH and expect without module by touriste75

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.