我知道这里有很多问题,涉及如何在不每次都输入密码的情况下连接SSH服务器,答案总是“使用公钥”。好吧,我发现自己处在罕见的情况下,这实际上是不可行的。由于某些莫名其妙的原因,我尝试连接的服务器上的OpenSSH守护程序配置为
RSAAuthentication no
PubkeyAuthentication no
在/etc/ssh/sshd_config
。我在服务器上没有任何管理权限,因此无法更改这些或任何其他服务器配置选项。(我当然可以完全控制客户端配置:Linux上的OpenSSH 5.8。)
我有哪些选择,尤其是最安全的选择是什么,以避免每次我想通过SSH进入该服务器时都必须输入密码?我将自己的计算机保持得相当安全,因此,如果确实有必要,让我们假设将密码存储在客户端文件中的安全风险较低。
服务器可以接受的其他身份验证方法显然是GSS API(我一无所知),键盘交互(我也一无所知)和密码。以下是一些相关的配置选项:
#ChallengeResponseAuthentication yes
#KerberosAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
#UsePAM no
这是一条debug(-vv
)跟踪:
debug1: Authentications that can continue: gssapi-with-mic,password,keyboard-interactive
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
Credentials cache file '/tmp/krb5cc_1000' not found
debug1: Unspecified GSS failure. Minor code may provide more information
Credentials cache file '/tmp/krb5cc_1000' not found
debug1: Unspecified GSS failure. Minor code may provide more information
debug1: Unspecified GSS failure. Minor code may provide more information
debug2: we did not send a packet, disable method
debug1: Next authentication method: keyboard-interactive
debug2: userauth_kbdint
debug2: we sent a keyboard-interactive packet, wait for reply
debug1: Authentications that can continue: gssapi-with-mic,password,keyboard-interactive
debug2: we did not send a packet, disable method
debug1: Next authentication method: password
/etc/krb5.keytab
,但是确实有/etc/krb5/krb5.keytab
。我无权访问内容。sftp.pass.psu.edu
如果可以帮助您解释该过程,则服务器名称为(我认为发出该名称不会有任何危害)。
/etc/krb5.keytab
?GSSAPI(Kerberos)可以很容易地设置客户端;不过,我必须询问服务器的主机名。(也:keyboard-interactive
非常类似于password
,但不仅限于一个“密码:”提示。)