我需要做远程的文件夹遍历,这里只能用SSH2协议,SMB什么的不用!所以需要SSH的jar包!如果有源代码更好!多谢了!JavaSSHsecure shell

解决方案 »

  1.   

    遍历文件夹?SSH登录后得到一个shell界面,你是想分析命令输出吗?执行pwd命令可以得到当前的完整路径名。
      

  2.   

    1 开源项目Ganymed SSH-2
      https://github.com/hudson/ganymed-ssh-2
    2 plink.exe(windows) 使用Prcoess input and outPut IO来得到远程机器shell执行的结果
      

  3.   

    不能直接得到远程文件夹的绝对路径吗? 我之前用SMB可以,但是不允许!
      

  4.   

    你是指 调用SMB jar包的一个方法就能直接得到远程服务器的绝对路径?
      

  5.   

    不是,我的意思是,之前我用SMB的包按照格式可以直接写出局域网内共享文件的绝对路径,但是现在要用SSH了,虽然登录之后当前路径为"/home/user/",但是我得不到绝对路径,每次获取都在本地,所以我就不知道了,找了很久也没找到!由于初学SSH,所以很多不懂,故有此一问!如果没有办法获得绝对路径,那怎样通过SSH协议做远程文件夹遍历了!
      

  6.   

    当前路径 /home/user 就是服务器上的绝对路径啊,你要什么绝对路径?是怎样的应用场景?
      

  7.   

    如果本地遍历文件夹应该是 File f=File(Path),Path为绝对路径,然后就可以用listfile()去进行遍历操作了,但是这里不能用/home/user,我想要的就是像本地Path那样的路径,可以直接File()操作!作为一个初学者,请允许我问这么不专业的问题!我还不是很懂!
      

  8.   

    补充一点就是,我可以用怎样的方式不用linux自带的命令就访问到服务器上的文件,那样我觉得也可遍历文件夹!
      

  9.   

    使用SMB可以将远程文件系统映射为本地文件系统,之后可以像访问本地文件一样访问服务器上的文件。
    SSH可以让你远程控制服务器,但无法像访问本地文件一样访问服务器上的文件。如果不能用SMB,能否考虑用FTP/SFTP等~
      

  10.   

    ServletActionContext.getServletContext().getRealPath(fileName);不可以吗?