如何使用java通过ssh的方式登录远程服务器执行命令并返回结果
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用java通过ssh的方式登录远程服务器执行命令并返回结果相关的知识,希望对你有一定的参考价值。
我最近在用java写一个类似pietty的东西,其中遇到几个问题想请教一下大家.1:如果执行cd ..命令后再执行pwd命令时可不可以通过除记录路径以外的方式正确执行.2:如果遇到需要root权限的命令比如sudo mtr 127.0.0.1这种如果不改变sudoers文件的内容而是通过输入密码的方法能否实现.3:远程登录到服务器上如果还想通过该服务器ssh到其他服务器的话该如何实现
参考技术A 让用户输入要执行的命令,接收端会认为它是密码,应该会提示密码错误之类的吧?获取这个信息,提醒用户输入密码。追问可是它直接提示三次access denied后就直接结束了阿,之后就要重开进程了,就像没有执行过ssh命令一样
参考技术B mina。apache。org/sshd-project/追问感谢您的回答,看了您的回答之后我查了mina的相关知识,不过大多数都是那个获取时间的程序或者struct+hibernate+spring的相关实例,不知道有没有ssh相关的实例。再次感谢
追答不好意思,上面说错了,用jsch
www。sourceforge。net/projects/jsch/?source=directory
示例地址:www。jcraft。com/jsch/examples/Shell.java
如何允许root用户远程登录?
参考技术A 我们不建议你允许root用户通过telnet方式远程登录,而且系统缺省也是不允许这样做的。 如果希望以root的身份远程管理服务器,可以在服务器上安装SSHD,然后通过Secure Shell连接到服务器。 目前较新的Linux发行版都自带名为OpenSSH的SSH服务器,通过/etc/rc.d/init.d/sshd start即可启动SSH服务器。客户端通过SSH客户端即可连接到服务器。 目前常用的WIN32客户端是putty,你可以从putty的主页下载到这个免费软件。本回答被提问者采纳以上是关于如何使用java通过ssh的方式登录远程服务器执行命令并返回结果的主要内容,如果未能解决你的问题,请参考以下文章