java中telnet到远程服务器,然后执行cmd命令,求代码,谢谢了
package placeinjavaeye;
import javaioInputStream;
import javaioPrintStream;
import orgapachecommonsnettelnetTelnetClient;
public class Shell
{
private TelnetClient telnet = new TelnetClient();
private InputStream in;
private PrintStream out;
private char prompt = '$';// 普通用户结束
public Shell(String ip, int port, String user, String password)
{
try
{
telnetconnect(ip, port);
in = telnetgetInputStream();
out = new PrintStream(telnetgetOutputStream());
// 根据root用户设置结束符
thisprompt = userequals("root") '#' : '>';
login(user, password);
}
catch (Exception e)
{
eprintStackTrace();
}
}
/
登录
@param user
@param password
/
public void login(String user, String password)
{
// readUntil("login:");
readUntil("login:");
write(user);
readUntil("Password:");
write(password);
readUntil(prompt + "");
}
/
读取分析结果
@param pattern
@return
/
public String readUntil(String pattern)
{
try
{
char lastChar = patterncharAt(patternlength() - 1);
StringBuffer sb = new StringBuffer();
char ch = (char)inread();
while (true)
{
sbappend(ch);
if (ch == lastChar)
{
if (sbtoString()endsWith(pattern))
{
return sbtoString();
}
}
ch = (char)inread();
Systemoutprint(ch);
}
}
catch (Exception e)
{
eprintStackTrace();
}
return null;
}
/
写操作
@param value
/
public void write(String value)
{
try
{
outprintln(value);
outflush();
}
catch (Exception e)
{
eprintStackTrace();
}
}
/
向目标发送命令字符串
@param command
@return
/
public String sendCommand(String command)
{
try
{
write(command);
return readUntil(prompt + "");
}
catch (Exception e)
{
eprintStackTrace();
}
return null;
}
/
关闭连接
/
public void disconnect()
{
try
{
telnetdisconnect();
}
catch (Exception e)
{
eprintStackTrace();
}
}
public static void main(String[] args) {
TelnetClient telnet = new TelnetClient();
try {
Shell she =new Shell("10", 23, "", "");
Systemoutprintln(she);
Systemoutprintln(shesendCommand("ls"));
shedisconnect();
}catch (Exception e) {
// TODO: handle exception
}
}
}
前提条件
:
你的服务器开启了telnet服务,并且允许telnet
然后你就可以在网内任何一台可以连通服务器的电脑使用
CMD命令
telnet+服务器ip地址就行,例如telnet
19216811
远程桌面连接命令是什么
方法/步骤
1打开电脑,Win+r这是打开运行的'命令。到时候我们输入远程命令的时候会用上。
2输入远程连接命令,mstsc,这样就可以快速连接。
3输入用户名,密码,连接远程服务器。
4下图是本地显示远程桌面的链接窗口。
5链接不成功的原因:服务器用户名密码错误,服务器用户名密码都有大小写,重新输入一次即可。
6链接不成功的原因:服务器过期,由于服务器大部分都是租用的,一般都会到时见要续费的。
7链接不成功的原因:服务器重新装了系统,服务器重装系统后,远程登录密码大部分会改变,因此也会造成链接不成功。
计算机远程控制的命令是“mstsc”。它的全称为“Microsoft terminal services client”,指创建与终端服务器或其他远程计算机的连接,编辑现有“远程桌面连接(rdp)”配置文件。
mstsc还有一种说法,MicrosoftTelnetScreenControl,即“微软远程桌面控制”。
mstsc的具体用法如下:
1、单击屏幕左下角的“开始”菜单
2、在弹出菜单中单击“运行”,也可以使用键盘的WIN+R组合键调出“运行”栏
3、在“运行”栏中输入“mstsc“,然后点击”确定“
4、启动mstsc
5、在“计算机”一栏输入需要远程控制的计算机IP地址,单击“连接”
6、弹出对方计算机的登录画面。输入该计算机的用户名和密码,即可登录进行远程操作。
在命令行中输入命令:
ssh username@ip_address -p port
之后系统会提示输入密码,输入后即可登录
如果不添加-p选项,则默认是22端口
还可以使用-l选项输入用户名:
ssh -l username ip_address -p port
更详细Linux命令介绍请看下图:
PowerShell在用户管理和维护Windows方面是一个强大的命令行环境。虽然PowerShell是一个本地管理工具,但是它也用于管理远程服务器。事实上,管理员可以针对大量的服务器创建PowerShell脚本来执行管理任务。Invoke-Command和New-PSSession都是在远程服务器中PowerShell的执行命令。
Invoke-Command
如果你只需要针对单台或者多台远程服务器执行一个命令(或者一系列的管道命令),那么最便利的方法就是使用Invoke-Command命令。Microsoft的文档列出了绝大多数的参数和语法,导致人人皆知Invoke-Command命令的复杂性。即使如此,使用Invoke-Command在远程系统上执行命令仍然出奇地容易。
对于基本的远程命令执行,你只需要提供远程计算机的名称和想要执行的代码块。假设你想要在名称为Production1的远程服务器上执行Get-VM命令,你可以使用下面的命令:
Invoke-Command –ComputerName Production1 {Get-VM}
虽然这看起来很简单,但是你也要对使用这个方法了解以下几点。
首先,Invoke-Command命令不限制你在一个远程系统上执行命令,你可以在多个计算机上指定命令,你需要做的就是使用命令区分开这些计算机的名称。例如,在Production1,Production2和Production3计算机上执行命令如下:
Invoke-Command –ComputerName Production1, Production2, Production3 {Get-VM}
第二点,你必须要知道虽然这个方式的设计目的只是简单地在单个远程系统上运行的单一命令,但是你也可以运行多个命令。如果查看之前的几行代码,你会注意到允许在远程计算机上运行的Get-VM命令是包含在花括号里面的。任何在花括号里面的命令都会在指定的远程计算机行运行。同样的,只要所有的命令都包含在花括号里面,你可以使用管道符号把命令把它们链接在一起。
第三点你必须知道上面的语法只有在所有计算机中使用了Kerberos认证才会运行,同时包括有命令输入和已经加入了域。否则,你必须使用HTTPS传输,并且必须指定远程系统是受信任的主机。
远程控制的命令为:mstsc
mstsc介绍:
mstsc(全称:Microsoft terminal services client)创建与终端服务器或其他远程计算机的连接,编辑现有“远程桌面连接(rdp)”配置文件,并将 Windows XP 连接(使用“客户端国防部设备 接管理器”创建的连接)迁移到新的 rdp 文件中。
mstsc还有一种说法,Microsoft Telnet Screen Control ,即“微软远程桌面控制”。
操作步骤为:
1、点击开始-->>运行-->>输入mstsc;
2、输入要连接的远程主机的地址,点击连接,按步骤操作即可。
要想使用 mstsc 这个远程桌面命令,首先要确保对方的电脑上安装了运行此服务的软件,一般微软windows自身携带这个软件,这个功能附带安装在win2000server、win2003server、win2008server上。
当对方是windows服务器时按照下面的步骤实现:
win+R(或“开始”——“运行”)——“mstsc”
在“计算机”后面的框中输入服务器的IP地址,如果有端口号,请确认使用“IP:端口号”的形式,如:19216801:3390 ,默认的端口号是3389不需要输入,只有在服务器修改了默认端口号的时候才使用英文状态下的“:”加新端口号的形式。以下输入了正确的域名或IP后显示连接成功的标志,你只需要点击“是”就可以连接到对方的主机,可是仍需要你输入账户和密码信息。
如果对方是域名的形式,如 aabccom 你也可以使用“域名:端口号”的形式实现远程桌面连接,通常独立IP的服务器和VPS服务器都是这样管理的,不过鉴于安全的考虑,我推荐大家修改默认的远程登录端口号改掉,以免被登陆。不过大部分虚拟主机站点是不需要这样的设置的,因为这由主机服务提供商负责管理。
0条评论