Perl實現ssh自動登入

2021-09-08 02:29:27 字數 1357 閱讀 7257

一,基於單純的密碼驗證的情況:

1.安裝net::ssh::perl模組,安裝方法參照perl模組安裝。

2.自動登入例子,我要用testuser使用者登陸到伺服器192.168.0.100執行df命令:

#!/usr/bin/perl -w

use strict;

use net::ssh::perl;

my $host = '192.168.0.196';

my $user = 'root';

my $password = 'pass';

my $ssh = net::ssh::perl->new($host);

$ssh->login($user,$password);

my ($stdout,$stderr,$exit) = $ssh->cmd("df -h");

$ssh->cmd("exit");

if($stderr)

else

exit $exit;

二,基於帶密碼(passphrase)的公鑰金鑰對認證的情況:

1.安裝net::openssh模組,安裝方法參照

perl模組安裝,其實這個模組比上面那個模組更強大,密碼登入的也可以用這個模組。

2.**例子,還是用testuser使用者登陸到伺服器192.168.0.100執行df命令:

#!/usr/bin/perl -w

use strict; use net::openssh;

my $host = '192.168.0.100';

my $user = 'testuser';

my $passphrase = '123123';

my $key = '/home/testuser/.ssh/id_rsa';

my %param = (

user => $user,

passphrase => $passphrase,

key_path => $key,

timeout => 10

);my $ssh = net::openssh->new($host,%param);

my ($stdout,$stderr) = $ssh->capture2("df -h");

if($stdout) else

用cpan net::ssh::perl 安裝模組並提示成功後,執行指令碼出現了「can't locate math/pari.pm in @inc「的錯誤。

執行安裝 perl -mcpan -e 'install math::pari' 後解決

參考:

n天後,發現net::ssh::perl奇慢無比,改用scp模組了。。。

Perl實現ssh自動登入

一,基於單純的密碼驗證的情況 1.安裝net ssh perl模組,安裝方法參照perl模組安裝。2.自動登入例子,我要用testuser使用者登陸到伺服器192.168.0.100執行df命令 usr bin perl w use strict use net ssh perl my host 1...

ssh自動登入

1.進入 目錄 ssh cd ssh 2.生成 key ssh keygen t rsa 這是會在目錄下產生 id rsa id rsa.pub 這兩個檔案 3.將 密碼檔案 id rsa.pub 上傳到 ssh 的伺服器 上 ssh copy id i ssh id rsa.pub 使用者名稱 i...

shell指令碼實現ssh自動登入

功能 shell指令碼實現ssh自動登入,裡面有些注釋掉的是編寫時遇到的一些問題和除錯資訊 說明 login fwq 登入賬戶名 login fwq ip 登入ip login fwq pw 登入密碼 如下 fwqs ssh.sh 指令碼內容,login fwq xcz login fwq ip 1...