- 40
- 0
问题描述
尝试SSH Git 仓库时出现问题,原因暂未知,目前推测与编码格式有关
最明显的特点是每次SSH时会尝试创建一个乱码目录
环境
- windows 10 1809
- powershell
- 其他sh也尝试过
- 尝试了WSL没有出现同样的问题
相关代码
错误输出如下
ssh -T git@gitee.com
Could not create directory 'C:\\Users\\\345\221\250\345\207\241\346\230\237/.ssh'.
The authenticity of host 'gitee.com (120.55.226.24)' can't be established. - 共 0 条
- 全部回答
-
遍体鳞伤,仍是女王 普通会员 1楼
在Windows下,SSH无法创建已知主机目录的常见问题可能包括以下几个方面:
- 权限问题:
- 确保你的SSH客户端(如PuTTY,SecureCRT等)具有足够的权限来访问已知主机的目录。如果这些客户端没有足够的权限,它们将无法创建或访问该目录。
- 检查你的权限设置。确保你的SSH客户端具有访问给定目录的权限。在Windows上,你可以在命令行中使用
Get-SCSC权限或Get-ADFSPermission命令来检查目录的权限。
bash Get-SCSC -ServerIP <SSH服务器IP> -Path "C:\path\to\directory" Get-ADFSPermission -Identity <username> -Group <group_name> -Path "C:\path\to\directory"其中,
<SSH服务器IP>是你要连接的SSH服务器的IP地址,<path\to\directory>是你要访问的已知主机的目录路径。- 目录不存在:
- 确保你正在访问的已知主机的目录存在。你可以通过使用
Get-ChildItem命令来检查目录是否存在,或者在Windows PowerShell中使用dir命令来列出目录及其内容。
bash Get-ChildItem -Path "C:\path\to\directory" | dir如果目录不存在,
Get-ChildItem命令将返回一个NonExistentDirectory错误。在这种情况下,你需要确保目录确实存在并具有正确的权限才能访问它。- 未定义的用户或组:
- 检查你的SSH客户端是否连接到正确的用户或组。确保你的客户端已连接到
root用户或组,并且该用户或组具有权限访问给定目录。
bash PS C:\> $user = "root" PS C:\> $group = "root" PS C:\> Get-SCSC -ServerIP <SSH服务器IP> -Path "C:\path\to\directory" -User $user -Group $group在上述命令中,
$user和$group是你要连接的SSH客户端使用的用户或组的名称。Get-SCSC命令会连接到root用户或组,并检查目录是否存在。- SSH版本不兼容:
- 如果SSH客户端的版本与服务器的版本不兼容,它可能无法连接到已知主机的目录。例如,某些版本的SSH客户端可能不支持目录递归操作,或者在某些情况下可能无法处理高级目录权限。
为了修复这个问题,你可以升级你的SSH客户端版本。在Windows上,你可以在命令行中使用
New-SSHSession -ComputerName <SSH服务器IP> -User <username> -Port <SSH端口号>来连接到新版本的SSH客户端。然后,你可以使用Get-SCSC命令或Get-ADFSPermission命令来检查目录是否存在,并在目录存在时创建或访问它。bash New-SSHSession -ComputerName <SSH服务器IP> -User <username> -Port <SSH端口号> Get-SCSC -ServerIP <SSH服务器IP> -Path "C:\path\to\directory" -User <username>如果SSH客户端的版本与服务器的版本不兼容,上述命令将提示你更新客户端版本。
- 网络连接问题:
- 如果SSH客户端的网络连接存在问题,例如网络错误,可能会影响连接到已知主机的目录。网络连接问题可能包括网络连接断开,防火墙设置阻止SSH连接,或者网络延迟或其他网络问题。
为了解决这个问题,你可以尝试以下步骤: - 检查网络连接。确保你的客户端和SSH服务器之间有稳定的网络连接,并且网络连接没有被断开。 - 检查防火墙设置。确保防火墙没有阻止SSH连接,或者防火墙设置允许SSH连接到指定的IP地址。 - 如果网络连接正常,检查你的防火墙策略是否允许SSH访问已知主机的目录。在Windows防火墙中,你可以查看“例外”或“信任”列表,以查找允许SSH访问已知主机的目录的IP地址。
在上述步骤中,你需要找到防火墙设置中的允许SSH访问已知主机的目录的IP地址,并将其添加到允许SSH连接的列表中。
- SSH配置问题:
- 有些SSH服务器可能不支持创建已知主机的目录。例如,某些服务器可能不允许在已知主机上创建目录,或者服务器可能不支持递归操作,导致无法创建目录或访问目录中的子目录。
为了解决这个问题,你可以尝试以下步骤: - 检查你的SSH服务器的配置。确保你的SSH服务器允许在已知主机上创建目录,并且可以使用递归操作。如果SSH服务器不支持递归操作,你可以使用
Get-SCSC命令或Get-ADFSPermission命令来检查目录是否存在,并在目录存在时创建或访问它。 - 在Windows PowerShell中,你可以使用New-SCSC -ServerIP <SSH服务器IP> -User <username> -Path "C:\path\to\directory" -ParentPath "C:\path\to\parent_directory"来创建一个已知主机的子目录。在上述命令中,
<SSH服务器IP>是你要连接的SSH服务器的IP地址,<username>是你要连接的SSH客户端使用的用户名,<path\to\directory>是你要创建的已知主机的子目录路径,<path\to\parent_directory>是你要创建的已知主机的父目录路径。请注意,对于上述命令,
<path\to\parent_directory>应该替换为已知主机的实际父目录路径。如果父目录不存在,New-SCSC命令将返回一个FileDoesNotExist错误。在这种情况下,你需要确保父目录确实存在并具有正确的权限才能创建子目录。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
