Ani*_*ack 3 linux git ssh sudo
当我从用户提示符使用ssh制作git clone时,它可以正常工作.
git clone ssh://URL.com/soft.git soft_git
Run Code Online (Sandbox Code Playgroud)
ssh键 id_rsa并且id_rsa.pub在/home/user/.ssh
我的目的是执行git sudo但我得到以下错误
Cloning into '/home/user/git/soft'...
Permission denied (publickey,keyboard-interactive).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Run Code Online (Sandbox Code Playgroud)
我创建了一个文件夹,/root/.ssh然后将ssh密钥复制到其中,但是我得到了同样的错误
如何正确执行git与sudo.
当你使用sudo运行git时,git将以root身份运行.因为git以root身份运行,所以ssh以root身份运行.因为ssh以root身份运行,所以它尝试以root用户身份登录到远程服务器.远程服务器不适合(因为它应该!)
你需要做两件事:
将用户名放在您的URL中:ssh://myusername@URL.com/soft.git.
使root用户可以使用SSH密钥,因为它会查看/root/.ssh而不是/home/user/.ssh.(您也可以将SSH指向正确的密钥,但我不知道如何执行此操作,并且SSH对权限很挑剔.)
通常默认的远程 ssh 用户与您的用户名相同。如果你正在使用sudo这个,root这可能不会起作用。您需要提供远程用户名。
sudo git clone ssh://username@URL.com/soft.git soft_git
Run Code Online (Sandbox Code Playgroud)
通常,您可以通过尝试使用普通 ssh 登录远程来更轻松地解决 git ssh 问题。您将获得更好的诊断并可以看到出了什么问题。
sudo ssh ssh://URL.com/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9085 次 |
| 最近记录: |