
谢谢!
我使用的隧道方法是:http://sourceforge.net/apps/mediawiki/jsch/index.php?title=ProxySSH所以感谢那个写它的人!
对于上下文,我想从我的AndroID手机读取/写入我学校的服务器.
解决方法 要启用 public-key authentication,您必须使用其中一个Jsch.addIDentity方法.它们采用OpenSSH密钥格式的公钥和私钥 – 因此请确保以此格式从PuTTY导出它. (Jsch不了解PuTTY的本机格式,但您可以编写实现IDentity接口的适配器,自己解析它).
添加到Jsch的身份是全局的,而不是每个会话.这通常不是问题,因为Jsch将尝试按顺序由自身和服务器支持的所有身份验证方法,并且公钥验证通常在密码验证之前.
所有身份验证方法都需要用户名(通常是要登录的帐户的名称).
使用公钥验证时,公钥必须以某种方式以前可供服务器使用.对于OpenSSH的sshd,公钥应列在〜/ .ssh / authorized_keys中. (如果您只有一个公钥,只需将其复制到此文件中,如果您有多个公钥(每个都允许),每个公钥都应该在一行上.)
所以它应该在设置身份后开箱即用.
如果要确保第一个会话使用密码身份验证而第二个(隧道)使用公钥,则可以使用每会话配置,覆盖全局配置:
tunnelSession.setConfig("PreferredAuthentications","password");innerSession.setConfig("PreferredAuthentications","publickey"); (这些是以逗号分隔的列表,每个都有一个元素.)
关于ProxySSH的例子,就是我(在Jsch的作者Atsuhiko Yamanaka的帮助下).我应该将这些信息添加到Wiki页面.
总结以上是内存溢出为你收集整理的android – JSch:如何使用ssh-key ssh到服务器全部内容,希望文章能够帮你解决android – JSch:如何使用ssh-key ssh到服务器所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)