Before opening, please confirm:
Operating System
ubuntu 22.04.5/Windows
Kiro Version
kiro-ide-0.9.2-stable-linux-x64.tar.gz
Bug Description
SSH connection in my OS terminal works fine, by using ssh -i xxx.pem ubuntu@ip command.
When using SSH in kiro, it reports timeout.
Below information can be found in log:
Error downloading server from https://prod.download.desktop.kiro.dev/releases/remotes/bde6cfcbb06cc8986310e079d9e75f51b83365d2/kiro-reh-linux-x64.tar.gz
Both Windows Kiro IDE/Ubuntu Kiro IDE have this issue.
Steps to Reproduce
- Ubuntu 22.04, download kiro-ide-0.9.2-stable-linux-x64.tar.gz.
- Install extension "Open Remote SSH"
- Configure for your SSH host, and test ssh command in terminal
- Start connection on Kiro
- Connectsion failed.
Expected Behavior
download should be finished less than 30 seconds, and connect to remote successfully.
Conversation ID
conversation has not been started.
Additional Context
log:
[Info - 12:59:11.623] Resolving ssh remote authority 'ssh-remote+172.16.254.59' (attemp #1)
[Trace - 12:59:11.659] Identity keys:
/home/lxy2/lxy-tokyo.pem ssh-ed25519 SHA256:U6LDV5zsvy/N9/VQYKQHcmgOr/Fs68D+8MKSsFrvzTE=
[Info - 12:59:11.777] Trying no-auth authentication
[Info - 12:59:11.823] Trying publickey authentication: /home/lxy2/lxy-tokyo.pem ssh-ed25519 SHA256:U6LDV5zsvy/N9/VQYKQHcmgOr/Fs68D+8MKSsFrvzTE=
[Trace - 12:59:12.887] Server install command:
# Server installation script
TMP_DIR="${XDG_RUNTIME_DIR:-"/tmp"}"
DISTRO_VERSION="1.107.1"
DISTRO_COMMIT="bde6cfcbb06cc8986310e079d9e75f51b83365d2"
DISTRO_QUALITY="stable"
DISTRO_VSCODIUM_RELEASE=""
SERVER_APP_NAME="kiro-server"
SERVER_INITIAL_EXTENSIONS=""
SERVER_LISTEN_FLAG="--port=0"
SERVER_DATA_DIR="$HOME/.kiro-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_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 "32aa6d69ae209e038ccdde9f: 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 "32aa6d69ae209e038ccdde9f: end"
exit 0
}
# Check if platform is supported
KERNEL="$(uname -s)"
case $KERNEL in
Darwin)
PLATFORM="darwin"
;;
Linux)
PLATFORM="linux"
;;
FreeBSD)
PLATFORM="freebsd"
;;
DragonFly)
PLATFORM="dragonfly"
;;
*)
echo "Error platform not supported: $KERNEL"
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"
;;
riscv64)
SERVER_ARCH="riscv64"
;;
loongarch64)
SERVER_ARCH="loong64"
;;
s390x)
SERVER_ARCH="s390x"
;;
*)
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
# adjust platform for vscodium download, if needed
if [[ $OS_RELEASE_ID = alpine ]]; then
PLATFORM=$OS_RELEASE_ID
fi
SERVER_DOWNLOAD_URL="$(echo "https://prod.download.desktop.kiro.dev/releases/remotes/\${commit}/kiro-reh-\${os}-\${arch}.tar.gz" | sed "s/\${quality}/$DISTRO_QUALITY/g" | sed "s/\${version}/$DISTRO_VERSION/g" | sed "s/\${commit}/$DISTRO_COMMIT/g" | sed "s/\${os}/$PLATFORM/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
case "$PLATFORM" in
darwin | linux | alpine )
;;
*)
echo "Error '$PLATFORM' needs manual installation of remote extension host"
print_install_results_and_exit 1
;;
esac
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="3938bf75-b5ec-4e6b-8076-522a13e9ea5e"
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 successfully"
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 - 13:01:16.42] Server install command stderr:
failed: Connection timed out.
failed: Connection timed out.
failed: Connection timed out.
failed: Connection timed out.
failed: Connection timed out.
failed: Connection timed out.
failed: Connection timed out.
failed: Connection timed out.
failed: Connection timed out.
failed: Connection timed out.
failed: Connection timed out.
failed: Connection timed out.
[Trace - 13:01:16.42] Server install command stdout:
Error downloading server from https://prod.download.desktop.kiro.dev/releases/remotes/bde6cfcbb06cc8986310e079d9e75f51b83365d2/kiro-reh-linux-x64.tar.gz
32aa6d69ae209e038ccdde9f: start
exitCode==1==
listeningOn====
connectionToken====
logFile==/home/ubuntu/.kiro-server/.bde6cfcbb06cc8986310e079d9e75f51b83365d2.log==
osReleaseId==ubuntu==
arch==x86_64==
platform==linux==
tmpDir==/run/user/1000==
32aa6d69ae209e038ccdde9f: end
[Error - 13:01:16.43] Error resolving authority
Error: Couldn't install vscode server on remote server, install script returned non-zero exit status
at t.installCodeServer (/home/lxy2/.kiro/extensions/jeanp413.open-remote-ssh-0.0.49-universal/out/extension.js:1:441486)
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
at async /home/lxy2/.kiro/extensions/jeanp413.open-remote-ssh-0.0.49-universal/out/extension.js:1:404904
Before opening, please confirm:
Operating System
ubuntu 22.04.5/Windows
Kiro Version
kiro-ide-0.9.2-stable-linux-x64.tar.gz
Bug Description
SSH connection in my OS terminal works fine, by using ssh -i xxx.pem ubuntu@ip command.
When using SSH in kiro, it reports timeout.
Below information can be found in log:
Error downloading server from https://prod.download.desktop.kiro.dev/releases/remotes/bde6cfcbb06cc8986310e079d9e75f51b83365d2/kiro-reh-linux-x64.tar.gzBoth Windows Kiro IDE/Ubuntu Kiro IDE have this issue.
Steps to Reproduce
Expected Behavior
download should be finished less than 30 seconds, and connect to remote successfully.
Conversation ID
conversation has not been started.
Additional Context
log: