my $ssh2 = Net::SSH2->new(); $ssh2->debug(1); if ($ssh2->connect($host)) { if ($ssh2->auth_password($user,$pass)) { #shell use print "connetced\n"; my $chan = $ssh2->channel() and print "channel created\n"; $chan->shell() and print "shell method called\n"; $chan->blocking(1) and print "blocking set ot 1\n"; $chan->write("dir\n") and print "dir fired\n"; select(undef,undef,undef,0.2) and print "select command fired\n"; print $buf while ($len = $chan->read($buf,512)) > 0; #### C:\Compatibility_Automation_Temp>perl SSH2.pl connetced libssh2_channel_open_ex(ss->session, pv_channel_type, len_channel_type, window_size, packet_size, ((void *)0) , 0 ) -> 0x1c70aec channel created shell method called blocking set ot 1 dir fired Net::SSH2::Channel::read(size = 512, ext = 0) ##here, this program stuck #### sub shell { $_[0]->process('shell') }