Git Product home page Git Product logo

rospo's Introduction

Go Reference Go Report Card

Rospo is a tool meant to create secure and reliable SSH tunnels. A single binary includes both client and server. It's meant to make SSH tunnels fun and understandable again

Table of Contents

  1. Features
  2. How to Install
  3. Quick command line usage
  4. Example Scenarios

Features

  • Easy to use (single binary client/server functionalities)
  • Encrypted connections through ssh ( crypto/ssh package )
  • Automatic connection monitoring to keep it always up
  • Embedded sshd server
  • Forward and reverse tunnels support
  • JumpHosts support
  • Command line options or human readable yaml config file
  • Run as a Windows Service support
  • Pty on Windows through conpty apis
  • Sftp subsystem support server side
  • File transfer support client side (get and put sftp subcommands)
  • SOCKS5/SOCKS4 proxy server trough SSH

How to Install

Rospo actually full supports *nix oses and Windows 10+

macOS

Homebrew

Install rospo using Homebrew

brew install rospo

GNU/Linux

Binary Download

Platform Architecture URL
GNU/Linux amd64 https://github.com/ferama/rospo/releases/latest/download/rospo-linux-amd64
arm64 https://github.com/ferama/rospo/releases/latest/download/rospo-linux-arm64
arm https://github.com/ferama/rospo/releases/latest/download/rospo-linux-arm

Microsoft Windows

Binary Download

Platform Architecture URL
Microsoft Windows amd64 https://github.com/ferama/rospo/releases/latest/download/rospo-windows-amd64.exe

Docker Container

You can use the docker ditribution where useful/needed

docker run ghcr.io/ferama/rospo --help

Quick command line usage

Rospo supports keys based auth and password auth. Keys based one is always the preferred, so it is better if identity, authorized_keys etc are always correctly setup.

Usage example:

Starts an embedded ssh server and reverse proxy the port (2222 by default) to remote_server

$ rospo revshell user@server:port

Forwards the local 5000 port to the remote 6000 on the remote_server

$ rospo tun forward -l :5000 -r :6000 user@server:port

Get more detailed help on each command runnig

$ rospo tun forward --help
$ rospo tun reverse --help
$ rospo sshd --help

For more complex use cases and more options, you can use a config file

$ rospo run config.yaml

Look at the config_template.yaml for all the available options.

Scenarios

Example scenario: Windows reverse shell

Why use an embedded sshd server you might ask me. Suppose you have a Windows WSL instance that you want to access remotely without complicated setups on firewalls and other hassles and annoyances. With rospo you can do it in ONE simple step:

$ rospo revshell remote_ssh_server

This command will run an embedded sshd server on your wsl instance and reverse proxy its port to the remote_ssh_server

The only assumption here is that you have access to remote_ssh_server. The command will open a socket (on port 2222 by default) into remote_ssh_server that you can use to log back to WSL using a standard ssh client with a command like:

$ ssh -p 2222 localhost

Or even better (why not!) with rospo you can reverse proxy a powershell. Using rospo for windows:

rospo.exe revshell remote_ssh_server

Example scenario: Windows service

Rospo support execution as a service on windows. This means that you can create a persistent tunnel that can be installed as a service and started automatically with the machine.

Let's do this with the Windows Remote Desktop service.

Create a rospo conf file like this:

sshclient:
  server: your-rospo-or-sshd-server-uri:2222
  identity: "c:\\absolute_path_to_your\\id_rsa"
  known_hosts: "C:\\absolute_path_to_your\\known_hosts"

tunnel:
  - remote: :3389
    local: :3389  # the windows remote desktop port
    forward: false

Launch a terminal (powershell) with Administrative rights. You can then perform the following actions:

# create the rospo service
sc.exe create rospo start= auto DisplayName= Rospo binpath= "C:\rospo.exe run C:\conf.yaml"

# start service
sc.exe start rospo

# query service status
sc.exe query rospo

# stop and delete the service
sc.exe stop rospo; sc.exe delete rospo

Example scenario: multiple complex tunnels

Rospo supports multiple tunnels on the same ssh connetion. To exploit the full power of rospo for more complex cases, you should/need to use a scenario config file. Let's define one. Create a file named config.yaml with the following contents

sshclient:
  server: myuser@remote_server_address
  identity: "~/.ssh/id_rsa"
  jump_hosts:
    - uri: anotheruser@jumphost_address
      identity: "~/.ssh/id_rsa"

tunnel:
  - remote: ":8000"
    local: ":8000"
    forward: yes
  - remote: ":9999"
    local: ":9999"
    forward: yes
  - remote: ":5000"
    local: ":5000"
    forward: no
    # use custom sshclient for this tunnel
    sshclient:
      server: myuser@another_server
      identity: "~/another_identity"

# starts a socks proxy ...
socksproxy:
  listen_address: :1080
  # ...using a dedicated client
  sshclient:
    server: localhost:9999

Launch rospo using the config file instead of the cli parameters:

$ rospo run config.yaml

What's happens here is that rospo will connect to remote_server_address through the jumphost_address server and will:

  1. open a socket on the local machine listening on port 8000 that forwards all the traffic to the service listening on port 8000 on the remote_server_address machine
  2. open a socket on the local machine listening on port 9999 that forwards all the traffic to the service listening on port 9999 on the remote_server_address machine
  3. open a socket on the remote machine listening on port 5000 that forwards all the traffic from remote machine to a local service (on the local machine) listening on port 5000

But these are just an examples. Rospo can do a lot more.

Tunnels are fully secured using standard ssh mechanisms. Rospo will generate server identity file on first run and uses standard authorized_keys and user known_hosts files.

Rospo tunnel are monitored and kept up in the event of network issues.

rospo's People

Contributors

ceclin avatar dependabot[bot] avatar ferama avatar icholy avatar lars18th avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rospo's Issues

Reverse tunnel question

Hi

I'm trying to get workig rospo as a reverse tunnel to listening on the remote side on other than localhost:
rospo tun reverse -l 127.0.0.1:19898 -r 10.10.10.10:29898 [email protected]:22

It's working with autossh, but with rospo it listening only on 127.0.0.1:29898

What am I missing ?
Thanks
Levi

Add support for MIPS devices

Hi,

I tested to compile rospo for OpenWRT devices, and it works!
So I suggest to add these targets inside the build.sh script:

### multi arch binary build
GOOS=linux GOMIPS=softfloat GOARCH=mips build
GOOS=linux GOMIPS=softfloat GOARCH=mipsle build

Regards.

[INFO] ssh with username and password

I used to do something like this for forwarding ssh ports
ssh -R 2000:localhost:3000 [email protected]
and enter password in command prompt

how can i do this with rospo, i tried revshell including "-i" option but it expects authorized keys
I want to login with username and password. Is it possible to do this with rospos? if yes can you share the steps.

Question: Persistent tunnel?

Hi,

I want to know if rospo can work like autossh. That's executing in a loop maintainning a persistent SSH tunnel.

Please, could you clarify this?
Thank you.

some questions

Hi, I was testing rospo and had some questions:

  • Are keys that are password protected not supported? I get an error "unable to authenticate" when trying to use a password protected key.
  • Is there a way to provide the server password as a command line arg?
  • How do you launch the UI?

user.Current may return err in some cases on Windows

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x40 pc=0xae5ea2]

goroutine 1 [running]:
github.com/ferama/rospo/cmd.init.1()
        github.com/ferama/rospo/cmd/grabpubkey.go:15 +0x62

golang/go#37348

I think it is better to use os.Getwd or empty string as a fallback.

IPv6 not supported in parseSSHUrl

I use rospo tun forward on my windows laptop to forward a port to remote android device. But it doesn't work and I don't know why.
If I use rospo tun forward on wsl, it works. If I use rospo tun forward on wsl and connect from my windows, it doesn't work too.

I don't know whether it is my error or some bug in rospo.

Question: webui ?

Hi @ferama ,

From this code:

rospo/pkg/web/web.go

Lines 13 to 14 in af1bc6f

// StartServer start the rospo web server. The webserver
// exposes rospo apis and a nice ui at the /

I assume that a simple http://127.0.0.1:8090/ will get a "nice UI". However, any GET to "/" responses with a 404 Error. I can only obtain responses using the API with /api/tuns, /api/stats and /api/info. Please could you document the webui more?

Thank you.

HTTP error 408 on initial connection

I am serving a simple Node JS app on windows machine, then tunnel those port on public server. When accessing those port, it is showing HTTP error 408 initially, but success on subsequent request.

~# wget "http://127.0.0.1:30005/"
--2023-09-21 10:17:14--  http://127.0.0.1:30005/
Connecting to 127.0.0.1:30005... connected.
HTTP request sent, awaiting response... 408 Request Timeout
2023-09-21 10:17:14 ERROR 408: Request Timeout.

~# wget "http://127.0.0.1:30005/"
--2023-09-21 10:17:17--  http://127.0.0.1:30005/
Connecting to 127.0.0.1:30005... connected.
HTTP request sent, awaiting response... 200 OK
Length: 23 [text/html]
Saving to: ‘index.html.1’

index.html.1        100%[===================>]      23  --.-KB/s    in 0s

2023-09-21 10:17:17 (3.38 MB/s) - ‘index.html.1’ saved [23/23]

v0.11.6 Running bugs on Windows platforms?

Using the official version of rospo-windows-amd64.exe 0.11.6 latest version, running it on individual Windows 7 systems may result in errors:
[fatal error: kernel32.DLL not found]
[Runtime: panic before malloc heap initialized]

But if you download the source code and use go 1.20.12 to compile the generated Win64 program, it will work normally. Did the official use any parameters during compilation?

Run command doesn't respect jump_hosts settings

If you run rospo with the following yaml:

# the ssh client configuration
sshclient:
  # OPTIONAL: private key path. Default to ~/.ssh/id_rsa
  identity: "~/.ssh/id_ed25519"
  # REQUIRED: server url
  server: [email protected]:8001
  # OPTIONAL: Known hosts file path. Ignored if insecure is set to true
  known_hosts: "~/.ssh/known_hosts"
  # OPTIONAL: if the check against know_hosts is enabled or not
  # default insecure false
  insecure: false
  # OPTIONAL: list of jump hosts hop to traverse
  # comment the section for a direct connection
  jump_hosts:
    - uri: [email protected]:8000
      # OPTIONAL: private key path. Default to ~/.ssh/id_rsa
      identity: "~/.ssh/another_id_ed25519"

It will connect to port 8000 with ~/.ssh/id_ed25519, but the identity should be ~/.ssh/another_id_ed25519.

received ssh2_msg_channel_data for channel 256 with no outstanding channel request

image

I'm using Rospo's internal sshd server, with the following configure, when connecting to the server from localhost using putty, it shows the following error received ssh2_msg_channel_data for channel 256 with no outstanding channel request, I also tried just using ssh client from the command prompt, also tried on another windows machine on the other network, it all seems to have the same error.

However, it can connect successfully from a ubuntu client. I wonder what is wrong here.

sshd:
server_key: "./keys/server_key"
authorized_password: tetstpassword
listen_address: ":56740"
disable_shell: false
disable_banner: true
disable_tunnelling: false
disable_auth: false
disable_sftp_subsystem: false
shell_executable: "C:\Installed\Cygwin\bin\bash.exe"

ssh -vvv log output

C:\Users>ssh -vvv user@localhost -p 56740
OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2
debug3: Failed to open file:C:/Users/username/.ssh/config error:2
debug3: Failed to open file:C:/ProgramData/ssh/ssh_config error:2
debug2: resolving "localhost" port 56740
debug2: ssh_connect_direct
debug1: Connecting to localhost [::1] port 56740.
debug1: Connection established.
debug3: Failed to open file:C:/Users/username/.ssh/id_rsa error:2
debug3: Failed to open file:C:/Users/username/.ssh/id_rsa.pub error:2
debug1: identity file C:\Users\username/.ssh/id_rsa type -1
debug3: Failed to open file:C:/Users/username/.ssh/id_rsa-cert error:2
debug3: Failed to open file:C:/Users/username/.ssh/id_rsa-cert.pub error:2
debug1: identity file C:\Users\username/.ssh/id_rsa-cert type -1
debug3: Failed to open file:C:/Users/username/.ssh/id_dsa error:2
debug3: Failed to open file:C:/Users/username/.ssh/id_dsa.pub error:2
debug1: identity file C:\Users\username/.ssh/id_dsa type -1
debug3: Failed to open file:C:/Users/username/.ssh/id_dsa-cert error:2
debug3: Failed to open file:C:/Users/username/.ssh/id_dsa-cert.pub error:2
debug1: identity file C:\Users\username/.ssh/id_dsa-cert type -1
debug3: Failed to open file:C:/Users/username/.ssh/id_ecdsa error:2
debug3: Failed to open file:C:/Users/username/.ssh/id_ecdsa.pub error:2
debug1: identity file C:\Users\username/.ssh/id_ecdsa type -1
debug3: Failed to open file:C:/Users/username/.ssh/id_ecdsa-cert error:2
debug3: Failed to open file:C:/Users/username/.ssh/id_ecdsa-cert.pub error:2
debug1: identity file C:\Users\username/.ssh/id_ecdsa-cert type -1
debug3: Failed to open file:C:/Users/username/.ssh/id_ed25519 error:2
debug3: Failed to open file:C:/Users/username/.ssh/id_ed25519.pub error:2
debug1: identity file C:\Users\username/.ssh/id_ed25519 type -1
debug3: Failed to open file:C:/Users/username/.ssh/id_ed25519-cert error:2
debug3: Failed to open file:C:/Users/username/.ssh/id_ed25519-cert.pub error:2
debug1: identity file C:\Users\username/.ssh/id_ed25519-cert type -1
debug3: Failed to open file:C:/Users/username/.ssh/id_xmss error:2
debug3: Failed to open file:C:/Users/username/.ssh/id_xmss.pub error:2
debug1: identity file C:\Users\username/.ssh/id_xmss type -1
debug3: Failed to open file:C:/Users/username/.ssh/id_xmss-cert error:2
debug3: Failed to open file:C:/Users/username/.ssh/id_xmss-cert.pub error:2
debug1: identity file C:\Users\username/.ssh/id_xmss-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_for_Windows_8.1
debug1: Remote protocol version 2.0, remote software version Go
debug1: no match: Go
debug2: fd 3 setting O_NONBLOCK
debug1: Authenticating to localhost:56740 as 'user'
debug3: put_host_port: [localhost]:56740
debug3: hostkeys_foreach: reading file "C:\Users\username/.ssh/known_hosts"
debug3: record_hostkey: found key type ECDSA in file C:\Users\username/.ssh/known_hosts:14
debug3: load_hostkeys: loaded 1 keys from [localhost]:56740
debug3: Failed to open file:C:/Users/username/.ssh/known_hosts2 error:2
debug3: Failed to open file:C:/ProgramData/ssh/ssh_known_hosts error:2
debug3: Failed to open file:C:/ProgramData/ssh/ssh_known_hosts2 error:2
debug3: order_hostkeyalgs: prefer hostkeyalgs: [email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521
debug3: send packet: type 20
debug1: SSH2_MSG_KEXINIT sent
debug3: receive packet: type 20
debug1: SSH2_MSG_KEXINIT received
debug2: local client KEXINIT proposal
debug2: KEX algorithms: curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,ext-info-c
debug2: host key algorithms: [email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,[email protected],[email protected],[email protected],[email protected],ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
debug2: ciphers ctos: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: ciphers stoc: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: MACs ctos: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,[email protected],zlib
debug2: compression stoc: none,[email protected],zlib
debug2: languages ctos:
debug2: languages stoc:
debug2: first_kex_follows 0
debug2: reserved 0
debug2: peer server KEXINIT proposal
debug2: KEX algorithms: curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,[email protected]
debug2: host key algorithms: ecdsa-sha2-nistp521
debug2: ciphers ctos: [email protected],[email protected],[email protected],aes128-ctr,aes192-ctr,aes256-ctr
debug2: ciphers stoc: [email protected],[email protected],[email protected],aes128-ctr,aes192-ctr,aes256-ctr
debug2: MACs ctos: [email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1,hmac-sha1-96
debug2: MACs stoc: [email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1,hmac-sha1-96
debug2: compression ctos: none
debug2: compression stoc: none
debug2: languages ctos:
debug2: languages stoc:
debug2: first_kex_follows 0
debug2: reserved 0
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: ecdsa-sha2-nistp521
debug1: kex: server->client cipher: [email protected] MAC: compression: none
debug1: kex: client->server cipher: [email protected] MAC: compression: none
debug3: send packet: type 30
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug3: receive packet: type 31
debug1: Server host key: ecdsa-sha2-nistp521 SHA256:wmo1rArJt4RnZSKMCRhH41ixZIkgCIljUcO+7aiqlqo
debug3: put_host_port: [::1]:56740
debug3: put_host_port: [localhost]:56740
debug3: hostkeys_foreach: reading file "C:\Users\username/.ssh/known_hosts"
debug3: record_hostkey: found key type ECDSA in file C:\Users\username/.ssh/known_hosts:14
debug3: load_hostkeys: loaded 1 keys from [localhost]:56740
debug3: Failed to open file:C:/Users/username/.ssh/known_hosts2 error:2
debug3: Failed to open file:C:/ProgramData/ssh/ssh_known_hosts error:2
debug3: Failed to open file:C:/ProgramData/ssh/ssh_known_hosts2 error:2
debug1: Host '[localhost]:56740' is known and matches the ECDSA host key.
debug1: Found key in C:\Users\username/.ssh/known_hosts:14
debug3: send packet: type 21
debug2: set_newkeys: mode 1
debug1: rekey out after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug3: receive packet: type 21
debug1: SSH2_MSG_NEWKEYS received
debug2: set_newkeys: mode 0
debug1: rekey in after 134217728 blocks
debug3: unable to connect to pipe \\.\pipe\openssh-ssh-agent, error: 2
debug1: pubkey_prepare: ssh_get_authentication_socket: No such file or directory
debug1: Will attempt key: C:\Users\username/.ssh/id_rsa
debug1: Will attempt key: C:\Users\username/.ssh/id_dsa
debug1: Will attempt key: C:\Users\username/.ssh/id_ecdsa
debug1: Will attempt key: C:\Users\username/.ssh/id_ed25519
debug1: Will attempt key: C:\Users\username/.ssh/id_xmss
debug2: pubkey_prepare: done
debug3: send packet: type 5
debug3: receive packet: type 7
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-256,rsa-sha2-512,ssh-rsa,ssh-dss>
debug1: kex_input_ext_info: [email protected] (unrecognised)
debug3: receive packet: type 6
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug3: send packet: type 50
debug3: receive packet: type 51
debug1: Authentications that can continue: password,publickey
debug3: start over, passed a different list password,publickey
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Trying private key: C:\Users\username/.ssh/id_rsa
debug3: no such identity: C:\Users\username/.ssh/id_rsa: No such file or directory
debug1: Trying private key: C:\Users\username/.ssh/id_dsa
debug3: no such identity: C:\Users\username/.ssh/id_dsa: No such file or directory
debug1: Trying private key: C:\Users\username/.ssh/id_ecdsa
debug3: no such identity: C:\Users\username/.ssh/id_ecdsa: No such file or directory
debug1: Trying private key: C:\Users\username/.ssh/id_ed25519
debug3: no such identity: C:\Users\username/.ssh/id_ed25519: No such file or directory
debug1: Trying private key: C:\Users\username/.ssh/id_xmss
debug3: no such identity: C:\Users\username/.ssh/id_xmss: No such file or directory
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password
debug3: failed to open file:C:/dev/tty error:3
debug1: read_passphrase: can't open /dev/tty: No such file or directory
user@localhost's password:
debug3: send packet: type 50
debug2: we sent a password packet, wait for reply
debug3: receive packet: type 52
debug1: Authentication succeeded (password).
Authenticated to localhost ([::1]:56740).
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug3: send packet: type 90
debug1: Entering interactive session.
debug1: pledge: network
debug1: ENABLE_VIRTUAL_TERMINAL_INPUT is supported. Reading the VTSequence from console
debug3: This windows OS supports conpty
debug1: ENABLE_VIRTUAL_TERMINAL_PROCESSING is supported. Console supports the ansi parsing
debug3: Successfully set console output code page from:65001 to 65001
debug3: Successfully set console input code page from:850 to 65001
debug3: receive packet: type 91
debug2: channel_input_open_confirmation: channel 0: callback start
debug2: fd 3 setting TCP_NODELAY
debug2: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 1
debug3: send packet: type 98
debug2: channel 0: request shell confirm 1
debug3: send packet: type 98
debug2: channel_input_open_confirmation: channel 0: callback done
debug2: channel 0: open confirm rwindow 2097152 rmax 32768
debug3: receive packet: type 99
debug2: channel_input_status_confirm: type 99 id 0
debug2: PTY allocation request accepted on channel 0
debug3: receive packet: type 99
debug2: channel_input_status_confirm: type 99 id 0
debug2: shell request accepted on channel 0
debug3: receive packet: type 98
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug3: receive packet: type 98
debug1: client_input_channel_req: channel 0 rtype exit-signal reply 0
debug3: receive packet: type 99
debug2: channel_input_status_confirm: type 99 id 0
debug3: receive packet: type 99
debug2: channel_input_status_confirm: type 99 id 0
debug2: client_check_window_change: changed
debug2: channel 0: request window-change confirm 0
debug3: send packet: type 98
debug2: client_check_window_change: changed
debug2: channel 0: request window-change confirm 0
debug3: send packet: type 98
debug2: client_check_window_change: changed
debug2: channel 0: request window-change confirm 0
debug3: send packet: type 98
debug2: client_check_window_change: changed
debug2: channel 0: request window-change confirm 0
debug3: send packet: type 98
debug2: client_check_window_change: changed
debug2: channel 0: request window-change confirm 0
debug3: send packet: type 98
debug2: client_check_window_change: changed
debug2: channel 0: request window-change confirm 0
debug3: send packet: type 98
debug2: client_check_window_change: changed
debug2: channel 0: request window-change confirm 0
debug3: send packet: type 98
debug2: client_check_window_change: changed
debug2: channel 0: request window-change confirm 0
debug3: send packet: type 98
debug2: client_check_window_change: changed
debug2: channel 0: request window-change confirm 0
debug3: send packet: type 98
debug2: client_check_window_change: changed
debug2: channel 0: request window-change confirm 0
debug3: send packet: type 98

nothing happens after this.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.