我个人的 ~/.ssh/config:
Host officenet
User m.orlandin
Hostname versioning.officenet.prv
IdentityFile ~/.ssh/office_rsa
PreferredAuthentications publickey
实际上我的系统用户名是我的昵称“mipnamic”,每次我尝试
ssh git@officenet
它说:“嗨 mipnamic”
最后一个命令让我知道哪些 git 存储库可供我的用户使用,实际上在 git 服务器上我们有两个不同的用户:mipnamic 和 m.orlandin
为什么它不会公开配置文件中指示的用户名?
我真的不知道这到底是哪里出了问题,我真诚地希望这是一个与操作系统相关的错误。
我的设置:
OS X Yosemite 10.10.3
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
答案1
运行ssh git@officenet
意味着您明确提供git
远程主机的用户名,(officenet
),因此User m.orlandin
SSH 配置文件中的行将被忽略。这是对您问题的(简短)回答。
附录
我怀疑发送到远程服务器的公钥(officenet
)与在远程服务器上使用帐户,并由远程服务器上的用户mipnamic
的登录 shell 检查这一点。git
-v
您应该使用(详细) 选项检查在 SSH 连接中提供的公钥ssh -v git@officenet
。其输出应包含类似以下内容的行:
debug1: Offering RSA public key: /home/mipnamic/.ssh/id_rsa
使用cat
本地计算机上的(或任何其他文本文件查看器)查看此内容民众键。然后在远程服务器上,检查/修改 Git 用户的authorized_keys
文件中相应的条目/home/git/.ssh/authorized_keys
。