Java使用Jsch与sftp服务器实现ssh免密登录

打印 上一主题 下一主题

主题 560|帖子 560|积分 1680

  1. 本次验证是通过jsch配置rsa私钥路径的思路进行的。详细步骤如下:
复制代码
1、引用依赖jar
  1. <dependency>
  2. <groupId>com.jcraft</groupId>
  3. <artifactId>jsch</artifactId>
  4. <version>0.1.51</version>
  5. </dependency>
复制代码
2、代码参考:
  1. //从环境变量或配置文件中读取 目标服务器ip、端口、用户名、私钥路径
  2. String ftpHost = System.getEnv("sftpHost");
  3. String sftpPort= System.getEnv("sftpPort");
  4. String sftpUserName = System.getEnv("sftpUserName");
  5. String sftpPrivatekey= System.getEnv("sftp_privatekey");
  6. //建立JSch对象
  7. JSch jsch = new JSch();
  8. Session session = null;
  9. ChannelSftp channelSftp = null
  10. try{
  11. //添加私钥
  12. jsch.addIdentity(sftpPrivatekey);
  13. session=jsch.getSession(sftpUserName, ftpHost, sftpPort);
  14. Properties sessionConfig = new Properties();
  15. //SSH 公钥检查机制 no、ask、yes
  16. sessionConfig.put("StrictHostKeyChecking", "no");
  17. session.connect();
  18. channelSftp = (ChannelSftp) session.openChannel("sftp"); // 打开SFTP通道
  19. channelSftp.connect();
  20. //进行操作 如进入指定文件夹
  21. channelSftp.cd(path);
  22. }catch (JSchException e) {
  23. logger.error("sftp getConnect error : "+e);
  24. }
复制代码
3、配置私钥的步骤
1、在linux下实行ssh-keygen -t rsa 生成一对对应公私钥。 输入下令后按三下回车。
2、检查~/用户名/.ssh目录下是否有id_rsa、id_rsa.pub、authorized_keys三个文件。
留意:生成文件的目录建议默认,如果没有authorized_keys文件需要手工新建下,或者直接把id_rsa.pub复制为authorized_keys。检查并设置id_rsa、authorized_keys文件的权限为600。
  1. cp id_rsa.pub  authorized_keys
  2. chmod 600 id_rsa
  3. chmod 600 authorized_keys
  4. stat –c “%a %n”  文件夹或文件名
复制代码
3、root用户检查/etc/ssh/sshd_config下面是否有配置HostKey对应的rsa文件路径,如果存在其他rsa结尾的路径,建议把新生成的id_rsa文件的绝对路径配置到sshd_config中,如果没有可以忽略。
留意:修改sshd_config后需要重启sshd服务。
  1. sudo systemctl restart sshd
复制代码
4、把生成的id_rsa文件放到代码中配置的sftp_privatekey路径下一份。
5、免密登录是否配置成功检查
  1. ssh –i id_rsa绝对路径  sftp用户@sftp地址
复制代码
感觉各位博主的分享:
<Linux>《OpenSSH 守护历程配置文件sshd_config详解》
Linux免密登录设置(22端口和非默认端口)
详解Java使用Jsch与sftp服务器实现ssh免密登录
linux ssh配置文件和密钥文件
【authorized_keys配置及常见题目】
jsch session(ssh)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

吴旭华

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表