git ssh 无法访问主机但使用直接 IP 时成功(Windows 10)
Posted
技术标签:
【中文标题】git ssh 无法访问主机但使用直接 IP 时成功(Windows 10)【英文标题】:git ssh fails to access host but succeed when direct IP is used (Windows 10) 【发布时间】:2018-04-30 02:06:37 【问题描述】:我在 Windows 10 中使用 git/bash 并尝试克隆存储库。
当我使用命令:git clone username@hostname
时,我得到:
ssh:无法解析主机名 stbcmgit:名称或服务未知
但是,当我使用直接 IP 地址而不是主机名 (git clone username@x.x.x.x
) 时,访问成功并开始克隆。
注意事项:
“known_hosts
”文件位于c:\Users\myname\.ssh
该文件取自我的 Linux 帐户,在那里一切正常。
.ssh 文件夹还包含 id_rsa
和 id_rsa.pub
密钥(也从 Linux 复制)。
当我使用“ls $HOME/.ssh
”时,我看到列出了这些文件。
使用 Windows 10。
谢谢。
【问题讨论】:
您连接的主机名是否正确解析? IE。在 DNS 中配置,或ssh_config
。试试nslookup hostname
?
您可以按照链接中的步骤操作:***.com/questions/20252294/…
【参考方案1】:
~/.ssh/config
可能包含此类定义。
这些定义也包含端口号(我认为 /etc/hosts 不能)。
【讨论】:
【参考方案2】:您应该检查/etc/hosts
,如果不存在则添加这样一行:
x.x.x.x hostname
如果主机的IP没有改变,你可以通过像这样创建$HOME/.ssh/config
来简化整个命令
Host YourHost
HostName x.x.x.x
User username
IdentityFile ~/.ssh/id_rsa
PubKeyAuthentication yes
现在你可以运行这些命令了:
git clone YourHost:repo
ssh YourHost
【讨论】:
第二个建议似乎对这种情况有所帮助,谢谢! 第一个建议在使用 TortoiseGit 时很有帮助。【参考方案3】:在 Windows 10 以及有关“Windows linux 子系统”又名 “Bash” 的最新更新之后,现在您 必须通过编辑此文件为任何所需的主机名分配其相对 IP 地址:
C:\Windows\System32\drivers\etc\hosts
P.S:在您的 linux 上,请检查 /etc/hosts 而不是 'known_hosts' 文件
【讨论】:
以上是关于git ssh 无法访问主机但使用直接 IP 时成功(Windows 10)的主要内容,如果未能解决你的问题,请参考以下文章
无法通过 ssh 连接到 Github,无法访问 .ssh.config
通过公共 IP 访问 SSH 隧道 IIS“错误请求 - 无效主机名”
centos6.4版本中ssh+ip可以登录ssh+主机名无法登录,求大神帮忙。