我用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_keys
(git: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.
1条答案
按热度按时间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
测试命令期间是否弹出任何错误消息。