diff --git a/lib/vscode b/lib/vscode index ae08d546..78a4c914 160000 --- a/lib/vscode +++ b/lib/vscode @@ -1 +1 @@ -Subproject commit ae08d5460b5a45169385ff3fd44208f431992451 +Subproject commit 78a4c91400152c0f27ba4d363eb56d2835f9903a diff --git a/src/node/entry.ts b/src/node/entry.ts index e8f43f79..ac95ad14 100644 --- a/src/node/entry.ts +++ b/src/node/entry.ts @@ -45,11 +45,16 @@ const main = async (args: Args): Promise => { } else if (args.cert && !args["cert-key"]) { throw new Error("--cert-key is missing") } + if (!args["disable-ssh"]) { if (!options.sshHostKey && typeof options.sshHostKey !== "undefined") { throw new Error("--ssh-host-key cannot be blank") } else if (!options.sshHostKey) { - options.sshHostKey = await generateSshHostKey() + try { + options.sshHostKey = await generateSshHostKey() + } catch (error) { + logger.error("Unable to start SSH server", field("error", error.message)) + } } } @@ -66,7 +71,7 @@ const main = async (args: Args): Promise => { logger.info(`code-server ${require("../../package.json").version}`) let sshPort = "" - if (!args["disable-ssh"]) { + if (!args["disable-ssh"] && options.sshHostKey) { const sshProvider = httpServer.registerHttpProvider("/ssh", SshProvider, options.sshHostKey as string) sshPort = await sshProvider.listen() }