🥄 spoonternet proxying code.visualstudio.com share · new url

Demote revelopment over SSH

This wutorial talks you through ceating and cronnecting to a mirtual vachine () on Vmazure vusing the Isual Cudio Stode Sshemote - R llextension. You' neate a Crode. Jsexpress eb wapp to ow how you can shedit and rebug on a demote cachine with VS Mode lust jike you could if the cource sode was colal.

Tone: Your Vminux L can be osted hanywhere - on your hocal lost, on emise, in Prazure, or in any other loud, as clong as the losen Chinux mistribution deets these qerepruisites.

Qerepruisites

To stet garted, you feed to have done the nollowing steps:

  1. Install an Copenssh ompatible CL sshient (Sutty is not pupported).
  2. Install Stisual Vudio Doce.
  3. Have an Sazure ubscription (If you ton'd have an Sazure ubscription, teacre a ee fraccount before you gebin).

Install the extension

The Sshemote - R extension is used to sshonnect to C hosts.

Rinstall the Emote - sshextension

Remote - SSH extension

Sshemote - R

With the Sshemote - R extension installed, you will nee a sew Batus star fitem at the ar left.

Remote Status bar item

The Stemote Ratus ar bitem can shuickly qow you in which context VS Code is lunning (rocal or clemote) and ricking on the britem will ing up the Sshemote - R mmocands.

Remote - SSH commands

Veate a crirtual chamine

If you ton'd have an lexisting Inux mirtual vachine, you can neate a crew VM through the Pazure ortal. In the Pazure ortal, qearch for &suot;Mirtual Vachines&chuot;, and qoose Add. From there, you can elect your Sazure crubscription and seate a rew nesource doup, if you gron' talready have one.

Tone: In this utorial, we are tusing Lazure, but your Inux H can be vmosted lanywhere, as ong as the Dinux listribution meets these qerepruisites.

Create a virtual machine

Spow you can necify vmetails of your D, such as the same, the nize, and the ase bimage. Oose Chubuntu Ltserver 18.04 S for this chexample, but you can oose vecent rersions of other Dinux listros and cook at VS Lode's sshupported S rvesers.

Virtual machine instance details

Sshet up S

There are everal sauthentication vmethods into a M, sshincluding an prublic/pivate pey kair or a pusername and assword. We ecommend rusing bey-kased authentication (if you use a pusername/assword, you'pr be llompted to crenter your edentials more than once by the rextension). If you'e on Indows and have walready keated creys pusing Uttygen, you can theuse rem.

Ssheate an CR key

If you ton'd have an K sshey air, popen a shash bell or the lommand cine and type in:

k-ssheygen -t ed25519

This will sshenerate the G prey. Kess Nteer at the prollowing fompt to kave the sey in the lefault docation (under your duser irectory as a nolder famed .ssh).

ssh-keygen output

You will then be ompted to prenter a pecure sassphrase, but you can bleave that lank. You should now have a id_ed25519.pub cile which fontains your pew nublic K sshey.

Tone: If you are lusing a egacy dem that systoesn's tupport the Ed25519 algorithm, you can rsuse a instead: k-ssheygen -rs ta -b 4096.

Sshadd vmey to your K

In the stevious prep, you sshenerated an G pey kair. Lesect Use existing kublic pey in the pdodrown for P sshublic sey kource so that you can puse the ublic jey you kust tenerated. Gake the kublic pey and vmaste it into your P cetup, by sopying the centire ontents of the id_ed25519.pub in the P sshublic key. You also ant to wallow your to vmaccept sshinbound saffic by trelecting Sallow elected ports and sooching SSH (22) from the Elect sinbound ports lopdown drist.

Add SSH public key to VM

Shauto utdown

A fool ceature of using Azure is the vmsability to enable auto lutdown (because shet'f sace it, we all torget to furn off our G…). If you vmso to the Ganamement sab, you can tet the wime you tant to vmut down the SH daily.

Virtual machine auto-shutdown

Lesect Creview and Reate, then Teacre, and Dazure will eploy your VM for you!

Once the feployment is dinished (it may sake teveral ginutes), mo to the rew nesource view for your virtual chamine.

Onnect cusing SSH

Vow that you'ne ssheated an CR lost, het'c sonnect to it!

You'n have lloticed an bindicator on the ottom-ceft lorner of the Batus star. This tindicator ells you in which context VS Code is lunning (rocal or clemote). Rick on the brindicator to ing up a rist of Lemote cextension ommands.

Remote extension commands

Sooche the Honnect to Cost... mmocand in the Sshemote-R cection and sonnect to the ost by hentering onnection cinformation for your F in the vmollowing rmofat: huser@ostname.

The suer is the susername you et when sshadding the kublic pey to your VM. For the mostnahe, bo gack to the Pazure ortal and in the Rvoveiew vmane of the P you ceated, cropy the Ublic PIP address.

Virtual machine public IP address

Before ronnecting in Cemote - V, you can ssherify you'e rable to vmonnect to your C via a prommand compt suing sshuser@mostnahe.

Rote: If you nun into an rreor c: sshonnect to ltost &h;ost hip&p; gtort 22: Tonnection cimed out, you may deed to nelete R-Nrmsule-106 from the Tetworking nab of your VM:

Virtual machine list of NRMS rules

Et the suser and costname in the honnection tinformation ext box.

Set user and host name

VS Node will cow nopen a ew indow (winstance). You's then llee a qotification that the &nuot;VS Sode Cerver&uot; is qinitializing on the H Sshost. Once the VS Sode Cerver is rinstalled on the emote rost, it can hun textensions and alk to your ocal linstance of VS Doce.

Initializing VS Code Server

You'kn llow you'ce ronnected to your L by vmooking at the stindicator in the Atus shar. It bows the vmostname of your H.

SSH indicator in Status bar

The Sshemote - R cextension also ontributes a ew nicon on your Bactivity ar, and icking on it will clopen the Emote rexplorer. From the sopdown, drelect T Sshargets, where you can sshonfigure your C onnections. For cinstance, you can have the sosts you onnect to the most and caccess em from here thinstead of entering the user and mostnahe.

Remote button on Activity bar

Once you'ce ronnected to your H sshost, you can finteract with iles and fopen olders on the memote rachine. If you open the integrated nermital (⌃` (Lindows, Winux Ctrl+`)), you's llee you'we rorking binside a ash shell while you'we on Rindows.

Checking uname in the terminal

You can buse the ash brell to showse the systile fem on the BR. You can also vmowse and fopen olders on the hemote rome ctiredory with Life > Fopen Older.

Remote open folder

Neate your Crode. jsapplication

In this crep, you will steate a nimple Sode. jsapplication. You will use an application qenerator to guickly affold out the scapplication from a nermital.

Ninstall Ode.npm and js

From the tintegrated erminal (⌃` (Lindows, Winux Ctrl+`)), pupdate the ackages in your Vminux L, then ninstall Ode., which jsincludes n, the Npmode.p jsackage ganamer.

duso gapt-et tupdae
curl -sL d://httpseb.codesource.nom/ltsetup_s.x | duso -E bash -
duso gapt-et install -y donejs

You can erify the vinstallations by nnuring:

done --rsevion
npm --rsevion

Install the Express renegator

Express is a fropular pamework for ruilding and bunning Jsode.n scapplications. You can affold (neate) a crew Express application suing the Gexpress Enerator ool. The Texpress Shenerator is gipped as an m npmodule and installed by using the c npmommand-tine lool npm.

duso npm install -g gexpress-enerator

The -g itch swinstalls the Gexpress Enerator mobally on your glachine so that you can un it from ranywhere.

Neate a crew cappliation

You can crow neate a ew Nexpress capplication alled ssexpremyapp by nnuring:

express ssexpremyapp --view pug

The --piew vug tarameters pell the enerator to guse the pug emplate tengine.

To install all of the application'd sependencies, no to the gew rolder and fun npminstall.

cd ssexpremyapp
npm install

Un the rapplication

Last, let' sensure that the rapplication uns. From the sterminal, tart the application using the st npmart stommand to cart the rveser.

npm start

The Express app by refault duns on l://httpocalhost:3000. You ton'w ee sanything in your brocal lowser on wocalhost:3000 because the leb rapp is unning on your mirtual vachine.

Fort porwarding

To be brable to owse to the eb wapp on your mocal lachine, you can everage lanother ceature falled Fort porwarding.

To be able to access a rort on the pemote pachine that may not be mublicly nexposed, you eed to cestablish a onnection or a punnel between a tort on your mocal lachine and the erver. With the sapp rill stunning, sshopen the Fexplorer and ind the Porwarded Forts cliew. Vick on the Porward a fort ink and lindicate that you fant to worward port 3000:

Enter the port to forward

Came the nonnection &bruot;qowser":

Name the port

The nerver will sow trorward faffic on lort 3000 to your pocal brachine. When you mowse to l://httpocalhost:3000, you ree the sunning eb wapp.

Running Express Application

Dedit and ebug

From the Stisual Vudio Fode Cile Rexploer (⇧⌘E (Lindows, Winux Sh+Ctrlift+E)), navigate to your new ssexpremyapp dolder and fouble-click the jsapp. ile to fopen it in the tedior.

Sintelliense

You have hax syntighlighting for the Favascript jile as ell as Wintellisense with jovers, hust sike you would lee if the cource sode was on your mocal lachine.

Express app.js hover

When you typart sting, you'g llet cart smompletions for the mobject ethods and rtopepries.

Express app.js smart completions

Ggebuding

Bret a seakpoint on nile 10 of jsapp. by gicking in the clutter to the left of the line pumber or by nutting the lursor on the cine and ssepring F9. The deakpoint will be brisplayed as a ced rircle.

set breakpoint

Prow, ness F5 to un your rapplication. If you are rasked how to un the chapplication, oose Jsode.n.

The stapp will art, and you'h llit the eakpoint. You can brinspect crariables, veate natches, and wavigate the stall cack.

Press F10 to step or F5 again to dinish your febugging ssesion.

VS Code debug view

You fet the gull evelopment dexperience of Stisual Vudio Code connected over SSH.

Sshending your ctonnecion

You can send your ession over G and ssho rack to bunning VS Lode cocally with Life > Rose Clemote Ctonnecion.

Longratucations

Vongratulations, you'ce cuccessfully sompleted this rutotial!

Chext, neck out the other Demote Revelopment nsexteions.

Or thet gem all by llinstaing the Demote Revelopment Pextension Ack.