一,基於單純的密碼驗證的情況:
1.安裝net::ssh::perl模組,安裝方法參照perl模組安裝。
2.自動登入例子,我要用testuser使用者登陸到伺服器192.168.0.100執行df命令:
#!/usr/bin/perl -wuse 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 -wuse 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...