埠轉發時無法強制使用無密碼 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 回 localhost 的命令。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
感謝您嘗試幫助大家,非常感謝。無論如何,似乎 ssh-agent 是罪魁禍首。我忘記了在生成我自己的之前,我必須檢查是否有之前生成的實例已經在執行。我有大約 9 個在執行。我不太了解 bash,但在這裡我添加到遠端伺服器上的 .bashrc 中的 3 行使其正常工作:
pkill ssh-agent exec "$(ssh-agent)" ssh-add $HOME/.ssh/pair_key
你的權限正常嗎?.ssh 必須為 700。