もう1つのsshサーバの背後からサーバにsshしたいです。ゲートウェイサーバーにはユーザー名とパスワードが必要です。これを行うことができます。私は次のサーバに入るためにトンネルを使用していますが、これにはだけがのsshキーが必要です。 PuTTYを使ってキーを生成したので、私のユーザ名のために存在しますが、Javaプログラムのためにそれを取得する方法がわかりません。それは構成ですか?つまり、setConfig( "userauth.publickey"、 "com.jcraft.jsch.UserAuthPublicKey")これを使用するにはどうすればよいですか?ドキュメントが疎であると思われ、何か助けていただければ幸いです。私が試したことがあれば私にエラーが表示されます:このセッションに接続すると "Auth fail"と表示されますJSch:ssh-keysを使ってサーバにsshする方法
ありがとう!
私が使用するトンネル方式は、http://sourceforge.net/apps/mediawiki/jsch/index.php?title=ProxySSHだから、それを書いた人のおかげで!
Androidの携帯電話から私の学校のサーバーに読み書きしたいと思っています。
2番目のSSHはユーザー名を取得しないので、セッションをインスタンス化するときに、そのフィールドにはどうすればよいですか?空の文字列またはnull?すなわち、jsch.getSession(WHAT_GOES_HERE?、hostname、22); – Choobs
私は認証失敗のエラーが発生し続けます。私はid_rsaとid_rsa.pubをローカルに格納しており、OpenSSHキーとしてエクスポートしてaddIdentity(...)で使用するためにPuTTYgenを使用しました。何か不足していますか?最初のサーバーに/.ssh/authorized_keysファイルがあります。これは関連する場合はid_rsa.pubのコピーです。 – Choobs
あなたは*常に* SSHのユーザー名が必要です - これを使わないでサーバーにログインすることはできません。 (結局のところ、送られたコマンドはあるローカルユーザアカウントで実行されなければなりません)。ssh/authorized_keys'ファイル(ログインが許可されている公開鍵を含む)は、ログインしたいユーザのホームディレクトリになければなりません。 –