大家好,我是烤鸭:

今天分享的是java ssh sftp 免密码登录。

1.  JAVA代码 ssh连接

http://www.360doc.com/content/14/0409/16/9552892_367544139.shtml

https://blog.csdn.net/u013066244/article/details/70198839

公钥和私钥不需要用代码生成,linux有插件的。

2.    linux ssh-keygen 生成公钥和私钥

https://blog.csdn.net/xinshui151/article/details/79187563

SSH-keygen参数说明:

https://www.cnblogs.com/sunjf/p/ubutu_ssh.html

3.   linux 免密连接

sftp -oIdentityFile=/root/.ssh/id_dsa -oPort=8002 username@ip地址

oPort :  端口

oIdentityFile: 私钥文件(绝对路径)

username: 用户名

ip地址:ip

4.   实际中遇到的问题

按照上面的连接之后,还让我输入密码。

嗯。我生成的dsa秘钥是带密码的。。。。然而我忘了。太他么2了。

ssh-keygen -t dsa

没办法,重新生成一个吧。红线的部分一定不要填,直接回车!!!

另外说一句,用rsa和dsa生成都可以的,并没有什么区别。

ssh-keygen -t rsa

5.  关于两个常见异常:

com.jcraft.jsch.JSchException: invalid privatekey

很明显,就是私钥取错了,我一开始获取的是公钥就报的这个错,换成私钥 就好了,不带.pub后缀的文件。

com.jcraft.jsch.JSchException: Auth fail

https://blog.csdn.net/u010648555/article/details/81878189

这个讲的比较详细,我的就是密码错误。因为之前生成的秘钥密码忘记了。。。。

com.jcraft.jsch.SftpException: Permission denied

一定要看好异常在哪发生的。

我的是这一行发生的。然后在linux上执行ls命令。

是linux 服务器端的权限不足。没有读的权限。把文件夹权限改成可读的就可以了。

com.jcraft.jsch.SftpException: java.io.IOException: Pipe closedat com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:551)at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:492)
Caused by: java.io.IOException: Pipe closedat java.io.PipedInputStream.read(PipedInputStream.java:307)at com.jcraft.jsch.Channel$MyPipedInputStream.updateReadSide(Channel.java:362)at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:515)

这个异常是在执行put操作出现的,看了半天,才发现put操作在 sftp.disconnect() 后执行的,代码如下:

放到try里边就好了.....改代码改的都木了...这种问题都没发现

ssh sftp 免密码 公钥登录相关推荐

  1. 记一次诡异的 ssh 互信免密码登录失败

    0.背景 因为 hadoop 环境需要 master 能免密码 ssh localhost,所以我们需要建立与本机 localhost 的互信,方法很简单: ssh-keygen -t rsa #Pr ...

  2. 计算机跳过密码直接登录密码,小编传授win10免密码自动登录怎么设置 win10跳过密码直接登录电脑的操作教程...

    要是你在用系统的时候遇到了win10免密码自动登录怎么设置 win10跳过密码直接登录电脑的情况你会怎么办呢?有可能我们都会遇到win10免密码自动登录怎么设置 win10跳过密码直接登录电脑这样的情 ...

  3. ssh 免密_大数据时代:SSH如何免密码登录?

    Hadoop集群是由许多的节点服务器组成的,当我们启动hadoop集群时,hadoop的Namenode需要连接并且管理这些节点服务器(主要是DataNode). 此时系统会要求用户输入密码,提示内容 ...

  4. 设置SSH免密码自动登录(使用别名)

    每次登录服务器都要写一大串的用户名(username@服务器地址)和登录密码十分的繁琐,所以本文就告诉大家如何通过修改配置文件,达到只需要输入:ssh jack(你起的别名)就可以一键登录到服务器中. ...

  5. ssh命令+免密码登入

    一.说明 ssh专为远程登录会话和其他网络服务提供安全性的协议 二.安装 sudo apt-get install openssh-server 三.免密码登入 1.生成公私钥 在A机器上输入ssh- ...

  6. mac实现ssh的免密远程登录

    主要是在mac下利用自带的终端登录虚拟机中的ubuntu系统.用的是virtualbox,虚拟机网咯为NAT模式,设置端口转发,本机的10000对应虚拟机的22端口.22端口是ssh的默认端口.(如果 ...

  7. Linux系列:Ubuntu/fedora实用小技巧—禁止自动锁屏、设置免密码自动登录、免密码执行sudo操作...

    首先声明:该文虽以Ubuntu 13.04为例,同样适用于Fedora 17(已测试),但在较低版本的Ubuntu下可能有所差异,具体看后面的注意事项. 技巧目录: 解决Ubuntu下每隔几分钟自动锁 ...

  8. linux锁屏自动登录,Linux系列:Ubuntu/fedora实用小技巧—禁止自动锁屏、设置免密码自动登录、免密码执行sudo操作...

    首先声明:该文虽以Ubuntu 13.04为例,同样适用于Fedora 17(已测试),但在较低版本的Ubuntu下可能有所差异,具体看后面的注意事项. 技巧目录: 解决Ubuntu下每隔几分钟自动锁 ...

  9. ssh localhost免密码登录(转)

    最近在ubuntu上安装hadoop,需要配置ssh免密登录localhost,多次尝试之后任然需要输入密码才能访问,主要原因是配置完成后未将私钥添加到由ssh-agent 维护的列表中,使用ssh- ...

最新文章

  1. openwrt下如何只编译linux内核
  2. 机器学习Sklearn实战——KNN算法
  3. mysql内部_使用mysql中的内部加入
  4. Multi Task Learning在工业界如何更胜一筹
  5. 赶紧收藏!非常实用的 30 个 Python 技巧
  6. bigdecimal不等于0怎么写_写文章死憋写不出来,怎么破?
  7. 即兴发言从懵逼到牛逼
  8. Ubuntu中SVN的安装和使用
  9. 开篇~试试word写博客
  10. Apache Hadoop 源码阅读(陆续更新)
  11. 获CNNVD感谢信!知道创宇以专业漏洞研究能力支撑“漏洞通报”业务
  12. 软件测试中的二八定律到底是什么?
  13. LINUX矩阵键盘简单介绍,矩阵键盘程序流程图的详细介绍
  14. 使用outlook制作签名
  15. AT89C51单片机共阳极数码管动态显示(汇编语言)
  16. 电脑远程连接android手机
  17. React pdf 电子书
  18. WinFormDEV知识小结
  19. mysql之DDL操作
  20. 【ArcGIS Pro微课1000例】0020:ArcGIS Pro中河流(曲线)、湖泊(水体色)图例制作案例教程

热门文章

  1. 前端学习(2966):上午回顾
  2. [css] 清除浮动的方式有哪些及优缺点?
  3. [css] 使用css3做一个魔方旋转的效果
  4. [js] 说说你对js沙箱的理解,它有什么应用场景?
  5. 前端学习(2793):完成联系我们页面和地图
  6. 工作78:获取本地数据
  7. 工作55:对v-model的理解
  8. 前端学习(2055)vuejs的认识和特点介绍
  9. 前端学习(1357) :模板配置
  10. java面试题42从以下哪一个选项中可以获得Servlet的初始化参数?