【问题标题】:git remote push : Permission denied (publickey,keyboard-interactive)git远程推送:权限被拒绝(公钥,键盘交互)
【发布时间】:2012-06-27 22:03:28
【问题描述】:

我一直在尝试设置一个登台机器来在家中运行项目(rails 应用程序)。

# Remote machine connection
REPLOGIN=joel
REPADDRESS=192.168.2.100
REPLOCATION=/Users/joel/Projects/bio_watts #Repo location
REPNAME=biowatts

# Copy the repo to the server
echo "Copying the git repo to the server $REPADDRESS"
echo "repname:$REPNAME"
TEMPREP="$REPNAME.git"
echo "$TEMPREP"
git clone --bare .git $TEMPREP
scp -r $TEMPREP $REPLOGIN@$REPADDRESS:$REPLOCATION/

# Set up the origin for the project
#echo "Linking current repository to remote repository"
git remote add imac $REPLOGIN@$REPADDRESS:$REPLOCATION/$REPNAME.git/

一切正常

$git remote
imac   <== this is my remote machine

当我尝试 git push 到这台机器时,我得到:

Permission denied (publickey,keyboard-interactive).
fatal: The remote end hung up unexpectedly

我知道有一些关于 SSH 的东西......但我不明白我需要在本地和远程机器 (Mac OS X Lion) 上做什么。

有人可以帮忙吗?

干杯,

乔尔

下一个问题:

在我的远程机器上,我确实找到了克隆的 biowatts.git 文件……但我没有看到项目文件(rails 应用程序)……它是如何工作的?

我的意图是 git push 到我的 imac 并在那里运行我的应用程序(精简启动)???

我需要手动复制我的文件吗?我假设 git clone 会复制我需要的每一个...

【问题讨论】:

  • 你能“正常”通过 SSH 连接到这台机器吗?日志是怎么说的?

标签: ruby-on-rails git ssh remote-server


【解决方案1】:

您的远程 git 服务器应该通过 iMac 的公共 ssh 密钥了解您的机器,并且应该在某处配置允许您推送(写入权限)。

【讨论】:

  • 我在这里找到了一些想法sshkeychain.sourceforge.net/mirrors/SSH-with-Keys-HOWTO/…,它似乎工作正常。我这样做了: scp id_rsa.pub joel@192.168.2.100:./id_rsa.pub 然后我在 .ssh 中的远程机器上创建了一个 authorized_keys 并且我设法推送了它。只是现在我在遥控器上有我的 project.git 文件,但我没有这些文件......我对此有点陌生,我不知道接下来要做什么才能看到我的文件并启动我的远程机器上的服务器
  • 通常你会通过一个 git-server 作为中间人。这意味着您要么将您的 Github 帐户作为中间人,要么将您的远程服务器上的单独 git 用户用作运行 Gitosis 之类的东西。从运行应用程序的服务器上的用户,您从 Gitrepo 克隆文件(通常是部署过程)。要将文件从 project.git 中取出,您可以 git clone project.git 进入您选择的目录以“解压”它。
  • 你的意思是我可以运行一个 git-server 命令,这样我就可以在我的遥控器上管理主分支文件了吗?对不起,我真的很陌生
  • 所以'git clone project.git'会解压......然后我想我需要在我的开发环境上运行另一个 git add remote 对吗?并删除 project.git (?) 我将阅读更多关于 Gitosis 的内容。谢谢蒂姆
  • 没关系。如果您有权限,请在您的服务器上创建一个名为“git”的用户并在其中安装 Gitosis(请参阅fclose.com/b/linux/1432/setting-up-git-server-using-gitosis),然后将 iMac 的 SSH 密钥添加到 git 的授权密钥中。另请参阅此帖子以获取更多信息blog.jerodsanto.net/2009/05/dead-simple-rails-deployment
【解决方案2】:

远程机器需要知道你的 ssh 密钥。

你需要在本地生成一个密钥(如果你没有),然后将公钥添加到远程服务器的~/.ssh/authorized_keys

您可以按照关于设置密钥的 GitHub 教程进行操作(如果您还没有设置密钥)。

http://help.github.com/mac-set-up-git/

您需要将您的密钥添加到服务器上的 authorized_keys 文件中,而不是第 4 步。将您的 SSH 密钥添加到 GitHub。

【讨论】:

    【解决方案3】:

    将来,对于那些在汇编中遇到这种情况的人,解决方案是将您的 ~/.ssh/id_rsa.pub 复制到汇编配置文件中。 This post gives step by step instructions.

    【讨论】:

    • 不幸的是该链接已失效:(
    猜你喜欢
    • 1970-01-01
    • 2013-02-21
    • 2022-01-21
    • 2010-12-06
    • 2014-02-01
    • 2013-02-28
    • 1970-01-01
    • 2014-03-18
    • 1970-01-01
    相关资源
    最近更新 更多