java sftp应用和开发文档.docVIP

  • 4
  • 0
  • 约1.69千字
  • 约 3页
  • 2017-12-13 发布于浙江
  • 举报
java sftp应用和开发文档

SFTP应用及开发 1.SFTP定义 sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的加密方法。SFTP 为 SSH的一部份,是一种传输档案至 Blogger 伺服器的安全方式。SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接操作。SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多。 非对称密钥定义 非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。 3.加密和解密流程 (1)、发送方生成一个自己的私有密钥并用接收方的公开密钥对自己的私有密钥进行加密,然后发给接受方 (2)、发送方对需要传输的文件用自己的私有密钥进行加密,然后传送给接收方 (3)、接受方用自己的公开密钥进行解密后得到发送方的私有密钥 (4)、接收方用发送方的私有密钥对文件进行解密得到文件报文 公私密钥的生成 工具:使用puttygen.exe工具生成公钥和私钥: 公钥:直接复制Public key....中的内容,保存文件名为authorized_keys(无后缀),不要点击Save public key按钮获取公钥(程序解析格式不正确) 私钥:导出私钥,其中导出有两种格式:和OpenSSH。在开发过程中,根据需要的私钥格式不同,选择导出方式,这里用到的是 格式,保存名为id_rsa(无后缀)。不需要保存后缀名为.ppk的私有密钥,因为在java程序中无法解析这种格式的私有密钥。 公钥 :authorized_keys 私钥:id_rsa 得到公钥后,将公钥发送给服务端,私钥保存在自己的磁盘中 sftp服务端配置 工具:可用软件XLight模拟服务端进行配置。 (a)、设置IP和端口号 (b)、给客户端创建一个账户:用户名和密码 (c)、用客户端发送来的公钥设置SSH公钥认证(可以不设) (d)、设置用户操作权限 客户端连接 工具:可用软件WinSCP,进行连接测试 、配置服务器IP和端口号 、输入用户名和密码 、将本地私钥配置到客户端,如果服务器端没有配置SSH公钥认证,则可以不用这一步 、连接服务器(如果私钥有密码,则输入密码;如果没有,则直接登录到服务器) 7.SFTP客户端程序开发 首先需要导入jsch.jar包jsch.jar 配置连接服务器信息,例: #*****sftp服务器ip******* sftpIp= #*****sftp端口号******* sftpPort=22 #*****sftp服务器用户名******* sftpUser=just #*****sftp服务器ip密码******* sftpPwd=just #*****sftp本地私有密钥存放位置******* privateKey=d://id_rsa #*****sftp密钥口令******* sftpPassphrase=just #*****连接sftp超时时间******* sftpConnectOutTime=30000 程序参考如下链接:sftp 、首先需要连接到sftp服务器,调用connectSFTP方法,返回ChannelSftp 、上传文件时,调用upload方法, 入参:上传的目录、文件名 、下载文件时,调用download方法,入参:下载的目录、文件名、本地目录 、删除文件时,调用delete方法, 入参:文件的目录、文件名 、关闭连接时,调用disconnect方法, 入参:sftp信息 注意:上述调用接口的成功与否,取决于服务器分配给我们的权限

文档评论(0)

1亿VIP精品文档

相关文档