本篇文章给大家谈谈javassh登陆实现,以及java ssh登录对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
1、java —— ssh用户权限要怎么实现?2、java ssh登陆交换机执行命令3、如何用Java实现SSH远程连接?
java —— ssh用户权限要怎么实现?
【1】一般的权限模块是要包含3部分的
即:用户 — 角色 — 权限
【2】用户只能获得角色,而不能直接获得权限
这样一个用户可以有多个角色,一个角色又可以有多个权限。
【3】这样做便于管理和维护用户的权限信息:举个例子:
七个【权限】:1.查看 2.插入 3.修改 4.删除 5.使用 6.存入 7.取出
假设一个员工应该拥有1,2,5,6功能,这样我每添加一个员工(例如:张三)就要为该员工(张三)增加这 4 个权限。
但是,如果我建立了一个【角色】,角色名称叫做【员工】,该角色拥有1,2,5,6权限(即角色和权限绑定),这样,我每添加一个员工只需要把员工(例如:李四)与角色【员工】绑定即可,这样减少了很多麻烦,如果李四已经不在公司工作了,也仅仅需要把李四和角色【员工】解绑即可。不需要和每个权限去解绑。
【4】当我想为员工添加权限的时候也非常方便,假设我要让员工都有【权限7】,那么如果没有【角色】,我就要为每个员工和【权限7】绑定,这样意味着有10000个员工,数据库中的绑定信息就要增加10000条记录,而有了【角色】,只需要一条,就是在【角色】中增加【权限7】,这样由于之前10000个员工已经拥有了【员工】角色,所以自然也拥有了【权限7】,所以增加【角色】的意义是很大的。
【5】角色是用户和权限不直接接触,减少了耦合度,并且维护起来简单,通常一个大型的公司、企业或集体,就不会有太多的角色,例如:董事长,经理,副经理,董事会成员,部门经理,职员,还有后勤,财务等。这样在系统使用初期,建立好角色,以后不管是换经理也好,换员工也好,都不用直接让用户(使用者)与【成百上千】的权限直接挂钩,这样大大减少了维护的成本。
【6】如果当前已有角色不能满足需求,也可以添加角色,比如建立个市场部,建立好【角色】后,直接把想要放到市场部的人员与【市场部】挂钩就ok了,这样看来扩展权限也相当方便。
java ssh登陆交换机执行命令
第一步下载java扩展包
第二步:解压文件把 jar包,拷贝到java的库目录下,我的是ubuntu14(/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext )
cp ganymed-ssh2-build210.jar /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext
第三步: 把默认账户修改成直接的账户密码
yang@yang:~/Downloads/java/ganymed-ssh2-build210/examples$ cat Basic.java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import ch.ethz.ssh2.Connection;
import ch.ethz.ssh2.Session;
import ch.ethz.ssh2.StreamGobbler;
public class Basic
{
public static void main(String[] args)
{
String hostname = “127.0.0.1”;
String username = “user”;
String password = “password”;
try
{
Connection conn = new Connection(hostname);
conn.connect();
boolean isAuthenticated = conn.authenticateWithPassword(username, password);
if (isAuthenticated == false)
throw new IOException(“Authentication failed.”);
Session sess = conn.openSession();
sess.execCommand(“uname -a date uptime who”);
System.out.println(“Here is some information about the remote host:”);
InputStream stdout = new StreamGobbler(sess.getStdout());
BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
while (true)
{
String line = br.readLine();
if (line == null)
break;
System.out.println(line);
}
System.out.println(“ExitCode: ” + sess.getExitStatus());
sess.close();
conn.close();
}
catch (IOException e)
{
e.printStackTrace(System.err);
System.exit(2);
}
}
}
第四步: 编译 javac Basic.java java Basic
Here is some information about the remote host:
Linux yang 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
2014年 05月 03日 星期六 17:26:00 CST
17:26:00 up 6:09, 4 users, load average: 0.15, 0.21, 0.23
yang :0 2014-05-03 11:17 (:0)
yang pts/2 2014-05-03 16:34 (:0)
yang pts/26 2014-05-03 17:13 (:0)
yang pts/27 2014-05-03 17:24 (:0)
ExitCode: 0
如何用Java实现SSH远程连接?
这还要思路。。。
表单提交到后台,触发方法, 然后调jsch的方法,获取返回信息。 然后return到页面。
搞定!
关于javassh登陆实现和java ssh登录的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。