2015-11-04 45 views
0

当我们需要将公钥添加到授权密钥时,为什么我们使用私钥进行身份文件验证sftp传输当我们需要将公钥添加到授权密钥时,为什么我们需要将私钥用作身份文件进行SFTP传输使用JSch

Session session = null; 
ChannelSftp sftpChannel = null; 
JSch jsch = new JSch();   
try 
{ 
    session = jsch.getSession(targetUserId, targetHost, targetPort); 
    session.setConfig("StrictHostKeyChecking", "no"); 

    if(identityFile != null) 
    { 
     jsch.addIdentity(identityFile); 
    } 

    if(targetPassword != null) 
    { 
     session.setPassword(targetPassword); 
    } 

    session.connect(); 

回答

0

SSH公钥认证是使用非对称加密。

你有一个密钥对,其中一个密钥称为私人(身份)和其他公众。用私钥加密的内容可以用公钥解密,反之亦然。因此,服务器需要拥有公钥才能解密来自您的SSH通信(JSch SSH客户端)。

阅读关于Public-key cryptography

相关问题