端口转发时无法强制进行无密码 ssh 身份验证

端口转发时无法强制进行无密码 ssh 身份验证

我完全不知道是什么阻止我的本地计算机验证从远程服务器转发的连接。

我读过很多关于这个的帖子,我发誓我已经尝试过几乎所有的事情。

我一直遵循的指南可以在这里找到: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,这些命令被定向到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

配对服务器上 /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

密码验证配置:

#%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

.ssh 权限:

node-v0.8.25|ruby-1.9.3-p392|~|
   λ   ls -lhd .ssh
drwx------ 2 dan dan 4.0K Jul 10 19:49 .ssh

操作系统:

   λ   lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 13.04
Release:    13.04
Codename:   raring

OpenSSH 客户端版本:

   λ   ssh -V
OpenSSH_6.1p1 Debian-4, OpenSSL 1.0.1c 10 May 2012

答案1

你的权限还好吗? .ssh 必须是 700。

答案2

感谢您努力帮助大家,真的很感激。不管怎样,ssh-agent 似乎是罪魁祸首。我忘记了在生成我自己的实例之前,我必须检查之前生成的实例是否已经在运行。我有大约 9 个正在运行。我不太了解 bash,但在这里我添加到远程服务器上的 .bashrc 中的 3 行使其正常工作:

pkill ssh-agent
exec "$(ssh-agent)"
ssh-add $HOME/.ssh/pair_key

相关内容