当前位置: 技术问答>linux和unix
怎么样实现aix5机器上用ssh命令自动登录?
来源: 互联网 发布时间:2016-12-17
本文导语: 大家好,目前有个需求需要实现从一台aix5的机器上登录到另一台机器上,并执行简单的命令如vmstat的任务。 但是当我执行命令如:ssh username@机器ip地址 vmstat 2 3 的时候,回让我输入密码 和 一个yes/no的判断。 ...
大家好,目前有个需求需要实现从一台aix5的机器上登录到另一台机器上,并执行简单的命令如vmstat的任务。
但是当我执行命令如:ssh username@机器ip地址 vmstat 2 3 的时候,回让我输入密码 和 一个yes/no的判断。
我现在想跳过输密码这部分,直接登录。
看了网上很多资料,都说是用rsa生成一对密钥可以解决。但是我查看了我的机器上并没有~/.ssh/authorized_keys文件和其他对应的放密钥的地方。
我是刚接触的,所以是小菜鸟,不太懂。希望大家帮忙看看应该如何实现这个东西。
谢谢哦
但是当我执行命令如:ssh username@机器ip地址 vmstat 2 3 的时候,回让我输入密码 和 一个yes/no的判断。
我现在想跳过输密码这部分,直接登录。
看了网上很多资料,都说是用rsa生成一对密钥可以解决。但是我查看了我的机器上并没有~/.ssh/authorized_keys文件和其他对应的放密钥的地方。
我是刚接触的,所以是小菜鸟,不太懂。希望大家帮忙看看应该如何实现这个东西。
谢谢哦
|
看了网上很多资料,都说是用rsa生成一对密钥可以解决。但是我查看了我的机器上并没有~/.ssh/authorized_keys文件和其他对应的放密钥的地方。
------------------
你都没生成 他怎么会有?!
看这篇教程里http://litvip.com/2011/06/30/332 讲*如果你不会用公钥密钥的方式登录系统,请看下面,我们以user1用户为例那一段
或者看这篇http://www.ibm.com/developerworks/cn/aix/library/1006_lisali_sshlogon/index.html?ca=drs-
或者去google搜ssh密钥无密码登陆
如果你看了上面还是不会 那么就用expect脚本http://verdureorange.blog.51cto.com/632758/134576
如果你的aix没有安装expect 那就用perl 需要先安装一下perl的Net-SSH-Perl模块 然后写个脚本
#!/path/to/perl -w
use strict;
use Net::SSH::Perl;
my $host = "x.x.x.x";
13.my $ssh = Net::SSH::Perl->new($host);
$ssh->login("USER", "PASS");
my ($stdout,$stderr,$exit)=$ssh->cmd("your-command-here");
$ssh->cmd("exit");
if(defined($stderr)){
print "Error!n";
exit $exit;
}
print $stdout;
如果你还是不会 我没招了
------------------
你都没生成 他怎么会有?!
看这篇教程里http://litvip.com/2011/06/30/332 讲*如果你不会用公钥密钥的方式登录系统,请看下面,我们以user1用户为例那一段
或者看这篇http://www.ibm.com/developerworks/cn/aix/library/1006_lisali_sshlogon/index.html?ca=drs-
或者去google搜ssh密钥无密码登陆
如果你看了上面还是不会 那么就用expect脚本http://verdureorange.blog.51cto.com/632758/134576
如果你的aix没有安装expect 那就用perl 需要先安装一下perl的Net-SSH-Perl模块 然后写个脚本
#!/path/to/perl -w
use strict;
use Net::SSH::Perl;
my $host = "x.x.x.x";
13.my $ssh = Net::SSH::Perl->new($host);
$ssh->login("USER", "PASS");
my ($stdout,$stderr,$exit)=$ssh->cmd("your-command-here");
$ssh->cmd("exit");
if(defined($stderr)){
print "Error!n";
exit $exit;
}
print $stdout;
如果你还是不会 我没招了