Java通过SSH获取Linux文件出错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java通过SSH获取Linux文件出错相关的知识,希望对你有一定的参考价值。
使用ch.ethz.ssh2获取Linux文件时如果文件路径中包含中文就出错,如果是英文就不出错,尝试用URLEncoder转码中文字符也没起作用,这个怎么转码可以争取获取到Linux上路径含有中文的文件?
额,是正确获取到Linux上路径含有中文的文件。打错了
此问题已经解决,问题在于Ganymed的jar包运行默认编码是GBK,在IDE中将整个项目的编码指定为UTF-8就可以了。如果将项目打成jar包在命令行使用 java -Dfile.encoding=UTF-8 -jar jar包名称的方式即可
ssh
在cygwin中执行:$
ssh
username@remotehost
2
scp
命令scp基于ssh协议,可以将本地文件拷贝到远程服务上的指定目录 参考技术B ssh能登陆,只是文件不能传输的话,设置里改一下,用其他文件传输协议试试,scp,stftp都试试本回答被提问者采纳
ssh-add -l:获取身份时出错:格式无效
【中文标题】ssh-add -l:获取身份时出错:格式无效【英文标题】:ssh-add -l: error fetching identities: invalid format 【发布时间】:2021-08-19 06:52:23 【问题描述】:尽管ssh-add
声称我的密钥已成功添加,但很明显 ssh-agent 没有转发我的密钥:从远程服务器到第二个远程服务器的 ssh 无法正常工作; capitrano deploy
停止工作
线索是输出:error fetching identities: invalid format
,当做ssh-add -l
时
$ ssh-add ./id_2021
Enter passphrase for ./id_2021:
Identity added: ./id_2021 (./id_2021)
$ ssh-add -l
error fetching identities: invalid format
我已尝试制作新密钥,但仍然出现此错误。
【问题讨论】:
【参考方案1】:由于我无法解释的原因,这行得通:
$ eval $(ssh-agent); ssh-add
Agent pid 23676
Enter passphrase for /home/david/.ssh/id_xyz:
Identity added: /home/david/.ssh/id_xyz (/home/david/.ssh/id_xyz)
$ ssh-add -l
2048 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx /home/david/.ssh/id_xyz (RSA)
线索在this forum。
【讨论】:
以上是关于Java通过SSH获取Linux文件出错的主要内容,如果未能解决你的问题,请参考以下文章
Java利用 ganymed-ssh2-build.jar来上传文件到linux以及下载linux文件以及执行linux shell命令