Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ContainerSSH does not work with Jetbrain remote development #536

Closed
hongkunyoo opened this issue Oct 31, 2022 · 2 comments
Closed

ContainerSSH does not work with Jetbrain remote development #536

hongkunyoo opened this issue Oct 31, 2022 · 2 comments
Milestone

Comments

@hongkunyoo
Copy link

Please describe what you need help with:

I want to use Jetbrain remote development with ContainerSSH but failed.

I've checked that the plain ssh and sftp works on my ContainerSSH.
However whenever I connect with Jetbrain remote development using SSH connection, it gets timeout and fail.

I've looked at this issue(#485), but it seems different issue.(I'm not 100% sure though)
I'm currently using following version:

Jetbrain remote development logs
2022-10-31 23:23:25,680 [42423827]   INFO - #c.j.g.s.d.DeployErrorProcessor - Worker binary deploy failed with deploy exception
com.jetbrains.gateway.ssh.deploy.DeployException: Worker binary deploy failed: check command log for details: Timeout expired
	at com.jetbrains.gateway.ssh.GoWorkerDeployer.deploy$intellij_gateway_core(GoWorkerDeployer.kt:219)
	at com.jetbrains.gateway.ssh.GoWorkerDeployer$deploy$1.invokeSuspend(GoWorkerDeployer.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: com.intellij.ssh.SshException: Timeout expired
	at com.intellij.ssh.impl.sshj.SshjSshConnection.openChannel(SshjSshConnection.kt:55)
	at com.intellij.ssh.impl.SshConnection$openChannel$1.invoke(SshConnection.kt:67)
	at com.intellij.ssh.impl.SshConnection$openChannel$1.invoke(SshConnection.kt:27)
	at com.intellij.ssh.Ssh.wrapBlockingSshCall(ssh.kt:386)
	at com.intellij.ssh.Ssh.wrapBlockingSshCall$default(ssh.kt:369)
	at com.intellij.ssh.impl.SshConnection.openChannel(SshConnection.kt:56)
	at com.intellij.ssh.SshConnectionService.exec(SshConnectionService.kt:215)
	at com.intellij.ssh.ExecBuilder.execute(ssh.kt:213)
	at com.intellij.ssh.ExecBuilder.execute$default(ssh.kt:207)
	at com.jetbrains.gateway.ssh.deploy.impl.SshCommandExecutor$executeCommand$process$1.invoke(SshCommandExecutor.kt:53)
	at com.jetbrains.gateway.ssh.deploy.impl.SshCommandExecutor$executeCommand$process$1.invoke(SshCommandExecutor.kt:27)
	at kotlinx.coroutines.InterruptibleKt.runInterruptibleInExpectedContext(Interruptible.kt:46)
	at kotlinx.coroutines.InterruptibleKt.access$runInterruptibleInExpectedContext(Interruptible.kt:1)
	at kotlinx.coroutines.InterruptibleKt$runInterruptible$2.invokeSuspend(Interruptible.kt:38)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
Caused by: net.schmizz.sshj.connection.ConnectionException: Timeout expired
	at net.schmizz.sshj.connection.ConnectionException$1.chain(ConnectionException.java:32)
	at net.schmizz.sshj.connection.ConnectionException$1.chain(ConnectionException.java:26)
	at net.schmizz.concurrent.Promise.retrieve(Promise.java:139)
	at net.schmizz.concurrent.Event.await(Event.java:105)
	at net.schmizz.sshj.connection.channel.direct.SessionChannel.exec(SessionChannel.java:102)
	at com.intellij.ssh.impl.sshj.SshjSshConnection.execChannel(SshjSshConnection.kt:83)
	at com.intellij.ssh.SshConnectionService$exec$1.invoke(SshConnectionService.kt:217)
	at com.intellij.ssh.SshConnectionService$exec$1.invoke(SshConnectionService.kt:35)
	at com.intellij.ssh.impl.sshj.SshjSshConnection.openChannel(SshjSshConnection.kt:49)
	... 19 more
Caused by: java.util.concurrent.TimeoutException: Timeout expired
	... 26 more
2022-10-31 23:23:25,683 [42423830]   INFO - #c.j.g.s.d.LoggingHostCommandExecutorWrapper - $CONTAINERSSH_HOST :: uname -sm :: exit code: 0 :: stdout: Linux x86_64 :: stderr: 
2022-10-31 23:23:25,683 [42423830]   INFO - #c.j.g.s.d.LoggingHostCommandExecutorWrapper - $CONTAINERSSH_HOST :: uname -sm :: exit code: 0 :: stdout: Linux x86_64 :: stderr: 
2022-10-31 23:23:25,683 [42423830]   INFO - #c.j.g.s.d.LoggingHostCommandExecutorWrapper - $CONTAINERSSH_HOST :: echo $HOME :: exit code: 0 :: stdout: /home/jovyan :: stderr: 

Could you take a look on this?
Thanks for the awesome work!

@janosdebugs
Copy link
Contributor

Thank you @hongkunyoo , this is most likely due to the still missing port forwarding feature. We have an implementation, but it needs to be refactored.

@janosdebugs janosdebugs added this to the 0.5.0: SSO milestone Jan 12, 2023
@tsipinakis
Copy link
Member

Version 0.5 has been released which supports port forwarding and thus remote development. Closing this as solved. Please report any issues you find with it.

tsipinakis pushed a commit to tsipinakis/ContainerSSH that referenced this issue May 5, 2024
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.8.0 to 0.14.0.
- [Commits](golang/crypto@v0.8.0...v0.14.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants