You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Tom的SSH公钥添加至gituser的Git仓库以获取推送权限

解决方案

一、正确配置Tom的SSH公钥访问gituser账户

1. 正确使用ssh-copy-id命令

ssh-copy-id的<server>参数格式为目标用户名@主机地址,由于Tom和gituser在同一台机器上,主机地址可以用localhost或者机器的hostname(比如D-82I)。执行以下命令:

ssh-copy-id -i ~/.ssh/id_rsa.pub gituser@localhost

执行时输入gituser的密码,公钥会自动添加到gituser的~/.ssh/authorized_keys文件中(如果.ssh目录不存在,命令会自动创建并设置正确权限)。

2. 手动配置备选方案

如果ssh-copy-id无法正常执行,可手动完成配置:

  • 切换到gituser账户,创建并配置.ssh目录权限:
su - gituser
mkdir -p ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
exit
  • 以Tom身份将公钥追加到gituser的授权文件:
cat ~/.ssh/id_rsa.pub | sudo tee -a /home/gituser/.ssh/authorized_keys

二、解决Git远程仓库关联错误

Tom执行git remote add origin时提示fatal: not a git repository,是因为当前目录未初始化Git仓库,按以下步骤操作:

方式1:初始化本地仓库并关联远程

# 创建本地项目目录并进入
mkdir my_local_project
cd my_local_project
# 初始化Git仓库
git init
# 关联远程裸仓库(主机地址替换为实际hostname或localhost)
git remote add origin gituser@localhost:/home/gituser/project.git
# 首次提交并推送
echo "项目初始化" > README.md
git add README.md
git commit -m "initial commit"
git push -u origin main

方式2:直接克隆远程裸仓库

git clone gituser@localhost:/home/gituser/project.git
cd project
# 克隆后即可直接进行代码提交和推送操作

内容的提问来源于stack exchange,提问作者edge selcuk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 14:55:19