Ssh 如何从控制台避免Kerberos提示

Ssh 如何从控制台避免Kerberos提示,ssh,kerberos,jsch,Ssh,Kerberos,Jsch,我们有一个java示例,它使用JSch库来执行sftp操作。当这个示例执行并与启用了Kerberos-gssapi的服务器通信时,它将通过提示符请求用户名和密码,应用程序停止以获取条目 请看下面- Kerberos username [user1]: Kerberos password for user1: 我们需要帮助-我们如何避免这种提示?但请确保我们也需要支持gssapi(Kerberos) 有人能帮我吗 谢谢, Hrushi我已通过以下步骤解决了此问题- 创建文件jaas.conf

我们有一个java示例,它使用JSch库来执行sftp操作。当这个示例执行并与启用了Kerberos-gssapi的服务器通信时,它将通过提示符请求用户名和密码,应用程序停止以获取条目

请看下面-

Kerberos username [user1]: 
Kerberos password for user1: 
我们需要帮助-我们如何避免这种提示?但请确保我们也需要支持gssapi(Kerberos)

有人能帮我吗

谢谢,
Hrushi

我已通过以下步骤解决了此问题-

  • 创建文件jaas.conf,如下所示-

    user1@hostname:~$cat/etc/jaas.conf com.sun.security.jgss.krb5.initiate{ doNotPrompt=true };

  • 在jvm环境中添加以下条目

    -Djava.security.auth.login.config=/etc/jaas.conf

  • 重新启动/重新测试示例

    谢谢,
    Hrushi

    如果JSch对Kerberos使用标准Java libs,并且您运行标准Sun/Oracle JVM(或OpenJDK),那么您应该覆盖JAAS配置(通过指向conf文件的Java系统道具)=>define“principal
    xyz@AA.ORG
    ”和“使用先前由kinit设置的缓存中的票证”或“使用存储在keytab文件
    /ff/gg/xyz.keytab
    中的pwd”(或两者都使用)