但我有单独的配置文件

但我有单独的配置文件

在我的电脑中,我设置了一个名为 ~/job/ssh/config 的文件

Host bitbucket
 HostName bitbucket.org
 IdentityFile ~/job/ssh/rsa_key
 user git
 IdentitiesOnly yes

并在我的~/.ssh/config

~/.ssh/config 
Include /home/pcmagas/job/ssh/config

该文件夹~/job/ssh有以下设置:

-rw------- 1 pcmagas pcmagas  191 Σεπ  15 10:57 config
-rw------- 1 pcmagas pcmagas 3414 Σεπ  15 10:45 rsa_key
-rw------- 1 pcmagas pcmagas  761 Σεπ  15 10:45 rsa_key.pub
-rw------- 1 pcmagas pcmagas  419 Αυγ  28 15:32 work
-rw------- 1 pcmagas pcmagas  109 Αυγ  28 15:32 work.pub

通过做:

$ ssh bitbucket
PTY allocation request failed on channel 0
authenticated via ssh key.

You can use git to connect to Bitbucket. Shell access is disabled
Connection to bitbucket.org closed.

我也可以:

 ssh -i ~/job/ssh/rsa_key [email protected]
PTY allocation request failed on channel 0
authenticated via ssh key.

You can use git to connect to Bitbucket. Shell access is disabled

我可以连接到bithubket。

此外,通过执行以下操作:

GIT_SSH_COMMAND='ssh -i ~/job/ssh/rsa_key -o IdentitiesOnly=yes' git clone [email protected]:exampe/myproj.git

我可以克隆它:

Γίνεται κλωνοποίηση μέσα στο 'myproj'...
remote: Enumerating objects: 210004, done.
fetch-pack: unexpected disconnect while reading sideband packet

但我不能没有变量。任何想法有什么问题吗?

作为一种缓解方法,我还尝试注释 ~/.ssh/config 中的 inclide 行并将这些内容直接放入~/.ssh/config

Host bitbucket
 HostName bitbucket.org
 IdentityFile ~/job/ssh/rsa_key
 user git
 IdentitiesOnly yes

此外,我也运行了这些命令:

chmod 400 ~/job/ssh/*
chmod +w ~/job/ssh/config

答案1

为了使此设置起作用,请重命名该条目:

Host bitbucket
 HostName bitbucket.org
 IdentityFile ~/job/ssh/rsa_key
 user git
 IdentitiesOnly yes

进入:

Host bitbucket.org
 HostName bitbucket.org
 IdentityFile ~/job/ssh/rsa_key
 user git
 IdentitiesOnly yes

这将欺骗 ssh-agent 使用位于的密钥~/job/ssh/rsa_key而不是位于 中的密钥~/.ssh


但我有单独的配置文件

如果条目位于以下位置,则这都有效:

  • 〜/作业/ssh/配置
  • 〜/.ssh

对于第一个工作,您必须放置以下行:

Include /home/pcmagas/job/ssh/config

~/.ssh/config

相关内容