无密码远程登录到远程服务器并执行命令并检索详细信息

Posted

技术标签:

【中文标题】无密码远程登录到远程服务器并执行命令并检索详细信息【英文标题】:Password less telnet to remote server and execute commands and retrieve the details 【发布时间】:2018-12-30 15:44:34 【问题描述】:

目前在命令行使用 telnet 登录服务器,无需密码:

telnet -afl root servername

我需要一个脚本,它应该使用 telnet 连接到服务器,无需密码,运行类似 wc -l 的命令,并检索该命令的结果。

我尝试使用expect,但它提示输入密码,抛出错误。有人可以建议一种方法吗?

【问题讨论】:

没有可以使用的密码吗?见***.com/questions/1366751/… 在没有任何身份验证的情况下使用telnet 显然是极其不安全的。你能改用ssh 并完全禁用telnet 访问吗? 【参考方案1】:

试试这个:

#!/usr/bin/env perl

use strict;
use warnings;

use Net::Telnet;

my $t = new Net::Telnet (Timeout  => 10);

$t->open('nethack.alt.org');

$t->waitfor( -match => '/Quit/' );

$t->print( 'w' );

print $t->waitfor( -match => '/Watch which game/' );

【讨论】:

以上是关于无密码远程登录到远程服务器并执行命令并检索详细信息的主要内容,如果未能解决你的问题,请参考以下文章

无密码通过ssh执行rsync

使用sshpass和ssh实现无密码自动远程登录

怎么在一个shell脚本中执行远程主机的另一个shell脚本?? ssh已经可以无密码登录了。

ssh远程连接linux服务器并执行命令

远程登录Linux服务器的命令是啥?

su命令sudo命令以及限制root用户远程登录