我完全不知道是什么阻止我的本地机器验证从远程服务器转发的连接。
我已经阅读了大量有关此问题的帖子,我发誓我几乎尝试了所有方法。
我一直遵循的指南可以在这里找到:http://www.zeespencer.com/articles/building-a-remote-pairing-setup/
基本上,我卡在强制无密码身份验证上。如果我在 sshd_config 中允许密码,当我连接到 pair@pair-server 时,系统会提示我输入本地用户密码,并能够远程登录,因此我被转发了。但是,一旦我关闭它,我就会得到以下信息
λ ssh pair@pair-server
Permission denied (publickey).
Connection to pair-server closed.
详细输出在这里:https://gist.github.com/anonymous/0c2b3892596d5ded6abb
我目前在 pair@pair-server 的 .ssh/authorized_keys 中拥有我的本地用户 key.pub,这些 key.pub 是通过命令指示 ssh 返回本地主机的。pair@pair-server 有自己的密钥,在我的计算机上,我已将 pair@pair-server 的 key.pub 添加到 .ssh/authorized_keys。
sshd_config 中看似相关的行:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
PermitEmptyPasswords no
PasswordAuthentication no
UseLogin no
account
以及对服务器上session
的设置:/etc/pam.d/sshd
account required pam_nologin.so
account include password-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open env_params
session optional pam_keyinit.so force revoke
session include password-auth
password-auth
配置:
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet
auth required pam_deny.so
account required pam_unix.so
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 500 quiet
account required pam_permit.so
password requisite pam_cracklib.so try_first_pass retry=3 type=
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so