1

我们有几个用户远程工作,他们在尝试克隆受 gerrit 控制的 git 存储库时遇到很多问题 使用 ssh 的常规 git 存储库的 Git 克隆可以正常工作,但尝试从 gerrit 克隆存储库有时可以正常工作并且有时会在随机点失败

根据日志,ssh 连接似乎中断了

我们使用的是 gerrit 2.5.2 并且使用默认端口 29418 进行 ssh 访问 在工作中使用 LAN 时没有报告任何问题,但是使用 WAN 访问会导致很多问题

有没有办法将 gerrit 中使用的 sshd 配置为在中断和超时方面对 WAN 连接更加宽容?或者是否可以使用 git / gerrit 服务器(Linux)上已经运行的 sshd 软件并替换 gerrit 内部使用的软件?该机器是专用于 git 和 gerrit 的主机

日志文件:

[2013-05-10 07:41:27,725] 错误 com.google.gerrit.sshd.BaseCommand:在 git-upload-pack '/mobileclient' org.apache.sshd.common 期间发生内部服务器错误(用户 rk101288 帐户 30)。 channel.WindowClosedException:已经在 org.apache.sshd.common.channel.ChannelOutputStream.flush(ChannelOutputStream.java:104) 的 org.apache.sshd.common.channel.ChannelOutputStream.flush(ChannelOutputStream.java:104) 的 org.apache.sshd.common.channel.Window.waitForSpace(Window.java:153) 关闭.apache.sshd.common.channel.ChannelOutputStream.write(ChannelOutputStream.java:75) 在 org.eclipse.jgit.transport.SideBandOutputStream.writeBuffer(SideBandOutputStream.java:171) 在 org.eclipse.jgit.transport.SideBandOutputStream.write (SideBandOutputStream.java:151) 在 org.eclipse.jgit.storage.pack.PackOutputStream.write(PackOutputStream.java:124) 在 org.eclipse.jgit.storage.file.PackFile。copyAsIs2(PackFile.java:489) 在 org.eclipse.jgit.storage.file.PackFile.copyAsIs(PackFile.java:327) 在 org.eclipse.jgit.storage.file.WindowCursor.copyObjectAsIs(WindowCursor.java:162)在 org.eclipse.jgit.storage.pack.PackWriter.writeObjectImpl(PackWriter.java:1360) 在 org.eclipse.jgit.storage.pack.PackWriter.writeObject(PackWriter.java:1331) 在 org.eclipse.jgit.storage .pack.PackOutputStream.writeObject(PackOutputStream.java:161) 在 org.eclipse.jgit.storage.file.WindowCursor.writeObjects(WindowCursor.java:168) 在 org.eclipse.jgit.storage.pack.PackWriter.writeObjects(PackWriter .java:1319) 在 org.eclipse.jgit.storage.pack.PackWriter.writeObjects(PackWriter.java:1307) 在 org.eclipse.jgit.storage.pack.PackWriter.writePack(PackWriter.java:897) 在 org. eclipse.jgit.transport。UploadPack.sendPack(UploadPack.java:1197) at org.eclipse.jgit.transport.UploadPack.sendPack(UploadPack.java:1055) at org.eclipse.jgit.transport.UploadPack.service(UploadPack.java:611) at org .eclipse.jgit.transport.UploadPack.upload(UploadPack.java:521) 在 com.google.gerrit.sshd.commands.Upload.runImpl(Upload.java:53) 在 com.google.gerrit.sshd.AbstractGitCommand.service (AbstractGitCommand.java:106) 在 com.google.gerrit.sshd.AbstractGitCommand.access$000(AbstractGitCommand.java:34) 在 com.google.gerrit.sshd.AbstractGitCommand$1.run(AbstractGitCommand.java:72) 在 com。 google.gerrit.sshd.BaseCommand$TaskThunk.run(BaseCommand.java:430) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(未来任务.java:303) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask 的 java.util.concurrent.FutureTask.run(FutureTask.java:138)。在 com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:337) 在 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 运行(ScheduledThreadPoolExecutor.java:206)在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 在 java.lang.Thread.run(Thread.java:736)concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206) at com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:337) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask( ThreadPoolExecutor.java:886) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 在 java.lang.Thread.run(Thread.java:736)concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206) at com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:337) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask( ThreadPoolExecutor.java:886) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 在 java.lang.Thread.run(Thread.java:736)

[2013-05-10 07:36:23,436 -0400] f15e68b8 rk101288 a/30 从 172.20.251.105 登录 [2013-05-10 07:41:27,725 -0400] f15e68b8 rk101238-0-5-30 注销 [201201] 07:41:27,725 -0400] f15e68b8 rk101288 a/30 'git-upload-pack '\''/mobileclient'\''' 0ms 304099ms 被杀死

4

1 回答 1

0

因此,如果 Plink 用作 Git 的 SSH 客户端,您可能需要应用此处描述的解决方法。

于 2015-01-28T16:19:29.933 回答