无法使用'.ssh/authorized_keys`向我的git服务器授权

8ehkhllq  于 2022-12-10  发布在  Git
关注(0)|答案(1)|浏览(153)

我用debian bullseye在我的NAS上安装了一个git服务器2.30.2。
用户为git,主目录为/media/nas/programming/git_repos/,shell为/bin/bash
主目录及其所有子目录/文件由git:git拥有。
我使用命令ssh-keygen -t ed25519 -C mymail@gmail.com(或第二次尝试ssh-keygen -t rsa -C mymail@gmail.com)创建了一个私钥/公钥。
在Windows PC上,公钥变为/media/nas/programming/git_repos/.ssh/authorized_keysgit:git所有权,400个权限),私钥变为c:/Users/<username>/.ssh/id_ed25519(或第二次尝试时变为c:/Users/<username>/.ssh/id_rsa)。
/etc/ssh/sshd_config上我有一条线AllowUsers root git ...
现在,使用Git GUI,我正在尝试连接到带有url url = git@10.0.0.2:my_project的远程(比方说fetch)。
最初,它要求密码来解密id_ed25519(或在第二次尝试id_rsa时)。
然后,它会询问git@10.0.0.2的密码,这意味着Git服务器根本不计算.ssh/authorized_keys
我在这里做错了什么?

更新ssh -Tv git@10.0.0.2没有说那么多:

....
 debug1: Authentications that can continue: publickey,password
 debug1: Next authentication method: publickey
 debug1: Trying private key: C:\\Users\\chameleon/.ssh/id_rsa
 debug1: Trying private key: C:\\Users\\chameleon/.ssh/id_dsa
 debug1: Trying private key: C:\\Users\\chameleon/.ssh/id_ecdsa
 debug1: Trying private key: C:\\Users\\chameleon/.ssh/id_ed25519
 debug1: read_passphrase: can't open /dev/tty: No such file or directory
 Enter passphrase for key 'C:\Users\chameleon/.ssh/id_ed25519':     <---- Here I give the password
 debug1: Authentications that can continue: publickey,password
 debug1: Trying private key: C:\\Users\\chameleon/.ssh/id_xmss
 debug1: Next authentication method: password
 debug1: read_passphrase: can't open /dev/tty: No such file or directory
 git@10.0.0.2's password:    <---- Here I give the password. After that, connection established.
iugsix8n

iugsix8n1#

确保远程端(NAS ~git)上有right permission:如果“其他人”可写任何内容,SSH将不考虑authorized_keys文件。
然后测试您与ssh -Tv git@10.0.0.2的连接,并确认您的c:/Users/<username>/.ssh/id_ed25519已被考虑并建议使用。
如果是,请考虑在NAS上启动sshd in debug mode,查看在执行ssh -Tv测试命令期间是否弹出任何错误消息。

相关问题