V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
yagamil
V2EX  ›  Linux

ssh 到自己的 ubuntu 上,在 ubuntu 里 git 的 ssh 会提示 public key permission deny

  •  
  •   yagamil · 160 天前 · 1927 次点击
    这是一个创建于 160 天前的主题,其中的信息可能已经有所发展或是发生改变。
    自己的台式机 ubuntu ,正常本地使用 GitHub ssh 模式下 可以提交拉取代码。

    而用其他电脑通过 ssh 方式远程登陆到 ubuntu 后(用和 local 时的同一个账号名),在 ubuntu 里再用 github ssh 拉取代码,会提示 public key permission deny

    请问这时 github 还是自己的 ubuntu ssh 远程登录的配置问题?

    类似你 ssh 到你的腾讯云,发现腾讯云上无法使用 github ssh 拉取代码。。
    14 条回复    2024-07-16 14:14:39 +08:00
    yc8332
        1
    yc8332  
       160 天前
    你如果是用 ssh 拉取的代码,你的 Ubuntu 上有你连接 github 的私钥吗?不然肯定不行啊,要么把你的私钥放到 ubuntu 上,要么就是 github 加个 key
    yagamil
        2
    yagamil  
    OP
       160 天前
    @yc8332 #1 有的,本来 ubuntu 是正常使用的,只是 ssh 进去 ubuntu 之后,在里面 git 拉代码用不了
    AirCrusher
        3
    AirCrusher  
       160 天前
    加个 verbose 输出看看 log 吧
    heavener
        4
    heavener  
       160 天前
    應該跟遠端無關,可能是你 ubuntu 的 public key 沒放進 github 設定裡
    WoneFrank
        5
    WoneFrank  
       160 天前
    chmod 600 你的 publickey
    Judoon
        6
    Judoon  
       159 天前
    ssh -A {your ubuntu}
    then
    git
    baobao1270
        7
    baobao1270  
       159 天前   ❤️ 2
    我以为这是常识,没想到居然有人不知道……

    楼主的问题就好比,你本地开了 QQ 自动登录,然后 RDP 远程连接到另一台装了 QQ 的 Windows 电脑上,然后问为什么在远程的电脑上无法自动登录。因为你操作的是远程的电脑啊!你本地的密码/密钥又怎么会跑到远程的电脑上去呢?

    这样有两个解决办法:
    1. 在远程电脑上运行 ssh-keygen -t ed25519 ,把远程电脑上的 ~/id_ed25519.pub 上传到 GitHub SSH Keys 。这本质上和你在本地生成公钥然后上传上一样的,只不过是在另一台电脑上也做一遍。缺点是:如果你有多个远程电脑,每个远程电脑都要做一遍、配置麻烦;远程电脑上的 root 用户或者其他有权限访问磁盘的用户也可以访问你的 GitHub 私有仓库。
    2. 使用 ssh agent 并做密钥转发,参见 https://docs.github.com/zh/authentication/connecting-to-github-with-ssh/using-ssh-agent-forwarding 优点是你本地配置好了之后 ssh 到任何远程电脑都能使用你本地的私钥;缺点是你的私钥会被加载进远程电脑的内存中,如果你连接不可信的 ssh 主机,对方可以获取到你的私钥。
    msg7086
        8
    msg7086  
       159 天前   ❤️ 1
    你 ssh 到远端 ubuntu 了以后就相当于你人坐在机房里操作一样,你本地的 key 在远端当然是无法使用的。
    kestrelBright
        9
    kestrelBright  
       159 天前 via iPhone
    加个 v 看看拉取日志
    yazinnnn0
        10
    yazinnnn0  
       159 天前   ❤️ 1
    会提示 public key permission deny

    这不是说的很明显了吗
    oneisall8955
        11
    oneisall8955  
       159 天前   ❤️ 1
    楼主是不是这个意思?

    本地电脑就是 Ubuntu 系统,简称主机 U ,人坐在电脑,通过显示器+键盘+桌面+local 用户登录主机 U ,能 github +ssh 公钥拉取代码

    而局域网内其他电脑或主机例如 window W ,Linux L 等,用同样的用户 local ssh 到 主机 U ,github 拉取代码提示权限问题
    yagamil
        12
    yagamil  
    OP
       159 天前
    @baobao1270 #7 对,的确是这样。问题解决了。谢谢大佬。
    yagamil
        13
    yagamil  
    OP
       159 天前
    @baobao1270 #7 感觉是有点反常识。如果 RDP ,比如 windows 远程桌面,上有一个已经保存了登录密码的 QQ ,那么每个人远程登录进去进去,只要是同一个远程 windows 账号,肯定是可以直接登录 QQ ,而不用再输一次 QQ 密码的吧
    cc666
        14
    cc666  
       159 天前   ❤️ 1
    @yagamil 你这个比喻和 SSH 完全不一样吧,真要类比的话是你本地的电脑自动登陆了 QQ 你问远程电脑为什么没发自动登录远程的 QQ
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2587 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:24 · PVG 18:24 · LAX 02:24 · JFK 05:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.