jeanp413 / open-remote-ssh

VSCode Remote Development: Open any folder on a remote machine using SSH.
MIT License
309 stars 43 forks source link

Could not establish connection to 'wsl' #104

Closed palintin closed 1 year ago

palintin commented 1 year ago

Previously worked with vscode+remote-ssh. Decided to try vscodium+open-remote-ssh. Alas, nothing works(( it asks for a password, then an error `

Log [Info - 06:22:26.189] Resolving ssh remote authority 'ssh-remote+wsl' (attemp #1) [Error - 06:22:26.220] Couldn't get identities from OpenSSH agent Error: Failed to connect to agent at Socket.n (c:\Users\Johnny\.vscode-oss\extensions\jeanp413.open-remote-ssh-0.0.39\out\extension.js:1:124229) at Socket.emit (node:events:513:28) at Socket.emit (node:domain:489:12) at emitErrorNT (node:internal/streams/destroy:157:8) at emitErrorCloseNT (node:internal/streams/destroy:122:3) at process.processTicksAndRejections (node:internal/process/task_queues:83:21) [Trace - 06:22:26.221] Identity keys: None [Info - 06:22:26.317] Trying no-auth authentication [Info - 06:22:26.371] Trying password authentication [Trace - 06:22:31.20] Server install command: # Server installation script TMP_DIR="${XDG_RUNTIME_DIR:-"/tmp"}" DISTRO_VERSION="1.80.2" DISTRO_COMMIT="ad2ce925243280c8cd1054a2b27734e2b2e839c5" DISTRO_QUALITY="stable" DISTRO_VSCODIUM_RELEASE="23209" SERVER_APP_NAME="codium-server" SERVER_INITIAL_EXTENSIONS="" SERVER_LISTEN_FLAG="--port=0" SERVER_DATA_DIR="$HOME/.vscodium-server" SERVER_DIR="$SERVER_DATA_DIR/bin/$DISTRO_COMMIT" SERVER_SCRIPT="$SERVER_DIR/bin/$SERVER_APP_NAME" SERVER_LOGFILE="$SERVER_DATA_DIR/.$DISTRO_COMMIT.log" SERVER_PIDFILE="$SERVER_DATA_DIR/.$DISTRO_COMMIT.pid" SERVER_TOKENFILE="$SERVER_DATA_DIR/.$DISTRO_COMMIT.token" SERVER_OS= SERVER_ARCH= SERVER_CONNECTION_TOKEN= SERVER_DOWNLOAD_URL= LISTENING_ON= OS_RELEASE_ID= ARCH= PLATFORM= # Mimic output from logs of remote-ssh extension print_install_results_and_exit() { echo "a6439ffb7386b5869fa1353a: start" echo "exitCode==$1==" echo "listeningOn==$LISTENING_ON==" echo "connectionToken==$SERVER_CONNECTION_TOKEN==" echo "logFile==$SERVER_LOGFILE==" echo "osReleaseId==$OS_RELEASE_ID==" echo "arch==$ARCH==" echo "platform==$PLATFORM==" echo "tmpDir==$TMP_DIR==" echo "a6439ffb7386b5869fa1353a: end" exit 0 } # Check if platform is supported PLATFORM="$(uname -s)" case $PLATFORM in Darwin) SERVER_OS="darwin" ;; Linux) SERVER_OS="linux" ;; FreeBSD) SERVER_OS="freebsd" ;; DragonFly) SERVER_OS="dragonfly" ;; *) echo "Error platform not supported: $PLATFORM" print_install_results_and_exit 1 ;; esac # Check machine architecture ARCH="$(uname -m)" case $ARCH in x86_64 | amd64) SERVER_ARCH="x64" ;; armv7l | armv8l) SERVER_ARCH="armhf" ;; arm64 | aarch64) SERVER_ARCH="arm64" ;; ppc64le) SERVER_ARCH="ppc64le" ;; *) echo "Error architecture not supported: $ARCH" print_install_results_and_exit 1 ;; esac # https://www.freedesktop.org/software/systemd/man/os-release.html OS_RELEASE_ID="$(grep -i '^ID=' /etc/os-release 2>/dev/null | sed 's/^ID=//gi' | sed 's/"//g')" if [[ -z $OS_RELEASE_ID ]]; then OS_RELEASE_ID="$(grep -i '^ID=' /usr/lib/os-release 2>/dev/null | sed 's/^ID=//gi' | sed 's/"//g')" if [[ -z $OS_RELEASE_ID ]]; then OS_RELEASE_ID="unknown" fi fi # Create installation folder if [[ ! -d $SERVER_DIR ]]; then mkdir -p $SERVER_DIR if (( $? > 0 )); then echo "Error creating server install directory" print_install_results_and_exit 1 fi fi SERVER_DOWNLOAD_URL="$(echo "https://github.com/VSCodium/vscodium/releases/download/\${version}.\${release}/vscodium-reh-\${os}-\${arch}-\${version}.\${release}.tar.gz" | sed "s/\${quality}/$DISTRO_QUALITY/g" | sed "s/\${version}/$DISTRO_VERSION/g" | sed "s/\${commit}/$DISTRO_COMMIT/g" | sed "s/\${os}/$SERVER_OS/g" | sed "s/\${arch}/$SERVER_ARCH/g" | sed "s/\${release}/$DISTRO_VSCODIUM_RELEASE/g")" # Check if server script is already installed if [[ ! -f $SERVER_SCRIPT ]]; then if [[ "$SERVER_OS" = "dragonfly" ]] || [[ "$SERVER_OS" = "freebsd" ]]; then echo "Error "$SERVER_OS" needs manual installation of remote extension host" print_install_results_and_exit 1 fi pushd $SERVER_DIR > /dev/null if [[ ! -z $(which wget) ]]; then wget --tries=3 --timeout=10 --continue --no-verbose -O vscode-server.tar.gz $SERVER_DOWNLOAD_URL elif [[ ! -z $(which curl) ]]; then curl --retry 3 --connect-timeout 10 --location --show-error --silent --output vscode-server.tar.gz $SERVER_DOWNLOAD_URL else echo "Error no tool to download server binary" print_install_results_and_exit 1 fi if (( $? > 0 )); then echo "Error downloading server from $SERVER_DOWNLOAD_URL" print_install_results_and_exit 1 fi tar -xf vscode-server.tar.gz --strip-components 1 if (( $? > 0 )); then echo "Error while extracting server contents" print_install_results_and_exit 1 fi if [[ ! -f $SERVER_SCRIPT ]]; then echo "Error server contents are corrupted" print_install_results_and_exit 1 fi rm -f vscode-server.tar.gz popd > /dev/null else echo "Server script already installed in $SERVER_SCRIPT" fi # Try to find if server is already running if [[ -f $SERVER_PIDFILE ]]; then SERVER_PID="$(cat $SERVER_PIDFILE)" SERVER_RUNNING_PROCESS="$(ps -o pid,args -p $SERVER_PID | grep $SERVER_SCRIPT)" else SERVER_RUNNING_PROCESS="$(ps -o pid,args -A | grep $SERVER_SCRIPT | grep -v grep)" fi if [[ -z $SERVER_RUNNING_PROCESS ]]; then if [[ -f $SERVER_LOGFILE ]]; then rm $SERVER_LOGFILE fi if [[ -f $SERVER_TOKENFILE ]]; then rm $SERVER_TOKENFILE fi touch $SERVER_TOKENFILE chmod 600 $SERVER_TOKENFILE SERVER_CONNECTION_TOKEN="a7f5134d-3142-4dce-a8e0-b487bf70152d" echo $SERVER_CONNECTION_TOKEN > $SERVER_TOKENFILE $SERVER_SCRIPT --start-server --host=127.0.0.1 $SERVER_LISTEN_FLAG $SERVER_INITIAL_EXTENSIONS --connection-token-file $SERVER_TOKENFILE --telemetry-level off --enable-remote-auto-shutdown --accept-server-license-terms &> $SERVER_LOGFILE & echo $! > $SERVER_PIDFILE else echo "Server script is already running $SERVER_SCRIPT" fi if [[ -f $SERVER_TOKENFILE ]]; then SERVER_CONNECTION_TOKEN="$(cat $SERVER_TOKENFILE)" else echo "Error server token file not found $SERVER_TOKENFILE" print_install_results_and_exit 1 fi if [[ -f $SERVER_LOGFILE ]]; then for i in {1..5}; do LISTENING_ON="$(cat $SERVER_LOGFILE | grep -E 'Extension host agent listening on .+' | sed 's/Extension host agent listening on //')" if [[ -n $LISTENING_ON ]]; then break fi sleep 0.5 done if [[ -z $LISTENING_ON ]]; then echo "Error server did not start sucessfully" print_install_results_and_exit 1 fi else echo "Error server log file not found $SERVER_LOGFILE" print_install_results_and_exit 1 fi # Finish server setup print_install_results_and_exit 0 [Trace - 06:22:31.93] Server install command stdout: Error no tool to download server binary a6439ffb7386b5869fa1353a: start exitCode==1== listeningOn==== connectionToken==== logFile==/home/johnny/.vscodium-server/.ad2ce925243280c8cd1054a2b27734e2b2e839c5.log== osReleaseId==debian== arch==x86_64== platform==Linux== tmpDir==/tmp== a6439ffb7386b5869fa1353a: end [Error - 06:22:31.94] Error resolving authority Error: Couldn't install vscode server on remote server, install script returned non-zero exit status at t.installCodeServer (c:\Users\Johnny\.vscode-oss\extensions\jeanp413.open-remote-ssh-0.0.39\out\extension.js:1:423710) at process.processTicksAndRejections (node:internal/process/task_queues:96:5) at async c:\Users\Johnny\.vscode-oss\extensions\jeanp413.open-remote-ssh-0.0.39\out\extension.js:1:387702

`

jeanp413 commented 1 year ago

I published a new extension for wsl support, please give it a try https://open-vsx.org/extension/jeanp413/open-remote-wsl