Node.js

Accés a servidors remots

  

Quan desenrotllem aplicacions web, el normal és començar en un entorn local, executant-les en el nostre propi ordinador. Ací provem que el codi funciona correctament, ja siga amb un servidor senzill en Node.js, amb Apache/PHP, o amb qualsevol altra tecnologia.

No obstant això, treballar només en local té un límit: l’aplicació només està disponible per a nosaltres. El següent pas és portar-la a un entorn real en Internet, on qualsevol persona puga accedir a través d’una adreça IP o un nom de domini. Este procés es coneix com el desplegament o passe a producció.

Hui dia, el desplegament pot fer-se de diferents formes. En qualsevol cas, el desplegament no és només “pujar arxius”: també implica configurar, mantindre i assegurar el servidor, i en molts casos automatitzar el procés amb Git i pipelines d’integració contínua (CI/CD).

En este mòdul aprendrem els passos bàsics per a posar en marxa un servidor remot i desplegar una aplicació web real, partint de l’opció més versàtil i pròxima a la realitat professional: un VPS amb Linux i Node.js.

1. Passos previs per al desplegament d’aplicacions en servidors remots

El desplegament en servidors remots permet que una aplicació web siga accessible a nivell mundial.

Este pas requerix d’alguns elements previs que hem de tindre preparats:

2. Tipus d’allotjaments web i característiques

A l’hora de triar l’allotjament dels nostres projectes web, existixen diferents opcions, unes més costoses i altres més assequibles. En general, salve per a empreses fortes que disposen de la infraestructura adequada, se sol acudir a empreses especialitzades en allotjament web per a situar estos projectes. Elles s’encarreguen així del manteniment del servidor, mesures de seguretat, i altres elements com ara la disponibilitat, que es garantix mitjançant un acord del nivell de servici (Service Level Agreement, SLA). Vegem alguns exemples típics.

2.1. Allotjament en servidor dedicat

Quan el projecte és d’envergadura, i la companyia té suficient solvència econòmica, es pot optar per contractar un servidor dedicat, és a dir, un equip maquinari exclusiu per a ús de l’empresa en qüestió. Com diem, en alguns casos este servidor està en les pròpies instal·lacions de l’empresa, amb la seua IP pròpia, i és l’empresa qui s’encarrega de mantindre’l, reiniciar-lo i configurar la seguretat en el seu accés. En altres ocasions, es delega esta tasca en una empresa especialitzada en allotjaments web, amb el corresponent SLA acordat.

Els servidors dedicats oferixen un alt rendiment i seguretat, ja que no es compartixen recursos amb altres usuaris. No obstant això, solen ser més costosos i requerixen coneixements tècnics per a la seua configuració i administració.

Com a exemples d’empreses d’allotjament que oferixen estos servidors dedicats podem nomenar, entre altres, a Acens, OVH, o IONOS 1&1. Els preus mitjans tendixen a començar al voltant dels 70 - 90 euros al mes, encara que pot haver-hi altres ofertes més econòmiques.

2.2. Allotjament en servidor compartit o hosting bàsic

En l’altre extrem, podem trobar-nos amb projectes que requerisquen de pocs recursos. Parlem de projectes amb poques bases de dades, poca necessitat d’espai per a emmagatzematge, i pocs requisits d’amplada de banda o connexions simultànies. En estos casos, algunes empreses d’allotjament també oferixen la possibilitat d’utilitzar un espai xicotet en un servidor, que ens limita molt unes certes coses, com ara l’amplada de banda, nombre de bases de dades disponibles, espai en disc… Fins i tot ens limita el llenguatge o llenguatges a utilitzar, sent PHP el més habitual.

En comparació amb els servidors dedicats, presenten més problemes de seguretat. Això es deu a la naturalesa mateixa de com funcionen estos dos tipus de servidors i com es gestionen els recursos i la seguretat en cadascun d’ells. Per exemple, si altres usuaris tenen alguna vulnerabilitat de seguretat en el seu lloc web, un atacant podria intentar aprofitar-la per a accedir a altres llocs en el mateix servidor.

També trobem nombroses empreses que oferixen este tipus d’allotjament, com IONOS 1&1, Servage, Hostalia… Depenent de les característiques que oferisquen (nombre de bases de dades, amplada de banda, emmagatzematge, etc), els preus poden rondar entre 3 i els 7 o 8 euros al mes, per a esta mena de servici.

2.3. Una solució intermèdia: el VPS

Com a situació intermèdia entre les dos anteriors, està l’opció de contractar un servidor privat virtual (VPS, Virtual Private Server). Consistix a simular que es disposa d’un servidor dedicat, però internament del que es disposa és d’una part d’un equip, amb el seu propi disc dur, memòria RAM dedicada, processadors, etc. D’esta manera, podem instal·lar qualsevol tipus de programari que necessitem (tenint únicament en compte els requisits de nombre de processadors, RAM i espai disponible), però el cost és molt de menor que el d’un servidor dedicat, en compartir-lo amb altres webs que utilitzen un VPS sobre el mateix equip.

Moltes de les empreses que podríem citar en els dos casos anteriors oferixen este tipus de servici, com per exemple OVH, Hostalia o IONOS 1&1. El preu sol rondar els 10 euros al mes, encara que en alguns casos s’oferixen preus més competitius per a uns certs tipus bàsics de VPS.

Per la seua versatilitat, en este tema ens basarem en esta última opció. Com a empresa d’allotjament, explicarem com registrar-nos i utilitzar un VPS amb OVH, auque els passos a seguir amb qualsevol altra empresa d’hosting seran més o menys similars.

3. Contractació d’un VPS amb OVH

Com hem comentat abans, explicarem els passos a seguir per a contractar un VPS bàsic amb l’empresa OVH, per exemple, i veurem quines característiques oferix dit VPS. Per a començar, hem d’accedir a la web de l’empresa.

Com contractarem un producte, haurem de registrar-nos des de la Àrea de client en la part superior, triant després l’opció de Crear un compte. Si ja som clients, podem loguearnos des d’esta mateixa secció de Àrea de client.

Per a triar el VPS a contractar, anem a la secció Bare Metall Cloud > Contractar > Servidors Privats Virtuals del menú superior de la pàgina principal (una vegada ens hem logueado)

Veurem els diferents plans de VPS oferits:

Triarem l’opció més bàsica i econòmica. Si fem clic en el botó corresponent de Contractar, es mostraran les opcions per a configurar la nostra instància de VPS.

Permet triar quina distribució de sistema operatiu preinstal·lar. Podem triar entre diferents, com Linux Debian, CentOS, Ubuntu… També s’oferixen algunes distribucions amb interfície gràfica incorporada, com KUbuntu o Windows Server.

Si contractem el VPS, ens demanarà que especifiquem algunes opcions més, com la nostra localització (Europa), o el sistema operatiu a instal·lar. En el nostre cas, utilitzarem una distribució Debian. En general no és recomanable utilitzar l’última, ja que algunes ferramentes, com MongoDB, solen tardar a actualitzar-se a estes últimes versions.

3.1. Gestió bàsica del VPS

Una vegada completat el registre, i passat un temps, rebrem un e-mail de confirmació amb les dades per a accedir al VPS. A través de l’àrea de client de la pàgina web, al qual s’accedix amb l’usuari i contrasenya que indiquem en registrar-nos, podrem gestionar alguns aspectes: reinstal·lar el VPS, ampliar les seues capacitats, associar un nom de domini, etc.

Inicialment s’assignarà un nom de domini amb un codi aleatori, seguint el patró vps-xxxxxx.vps.ovh.net, sent XXXXXX el codi que se’ns haja assignat. Podem, a més, contractar altres noms de domini i associar-los al nostre VPS, com veurem a continuació.

En la secció de Inici podem consultar, entre altres coses, quina adreça IP se’ns ha assignat (IPv4 i IPv6), el nom del VPS, i en la part esquerra hi ha una sèrie d’opcions per a, per exemple, reiniciar el servidor, o reinstal·lar-lo de nou (en el cas que alguna instal·lació haja resultat defectuosa i necessitem tornar a començar, per exemple).

3.2. Contractació d’un domini

Un pas habitual si desenvoluparem una aplicació web amb una certa visibilitat és contractar un nom de domini associat, de manera que puguem accedir a l’aplicació amb este nom de domini.

Des de la pròpia plataforma d’OVH podem contractar el domini, amb diferents extensions (.és, .com, .net, .org, .eu…). Podem, no obstant això, utilitzar el nom de domini vps-xxxxxx.vps.ovh.net que ens han assignat, per a fer webs d’ús privat o restringit. També podem contractar un domini .ovh si busquem un preu econòmic. Estos dominis se solen oferir entre 1 i 3 euros a l’any, aproximadament.

Des de la secció de Web Cloud en la nostra àrea de clients podem contractar el domini.

Buscarem primer el domini que volem comprar (per exemple, maycalle.ovh), i la plataforma ens informarà de si està disponible i el seu preu anual. Una vegada seleccionat el domini en qüestió, els següents passos són:

  1. Opcionalment, es poden afegir altres servicis, com el DNS Anycast (que replica el DNS en altres servidors per a agilitzar l’accés), o DNSSEC, que protegix el domini contra l’enverinament de DNS (és a dir, que siga facilitat per fonts DNS no autoritzades).
  2. També es pot contractar un allotjament (hosting) amb el domini. En este cas no és necessari, ja que tenim un VPS contractat, així que podem triar que no necessitem allotjament amb el domini.
  3. Podem especificar els comptes de correu del propietari, administrador, etc del domini (s’emplenen automàticament amb el compte de correu amb què ens registrem). També podem indicar el servidor DNS on allotjar el nom de domini (el normal és triar el que ve per defecte).

Quan ja tinguem contractat el domini amb les opcions que hàgem triat, hem de associar el domini al VPS. En la secció Web Cloud de la nostra àrea de clients existix una subsecció Dominis, on podem veure els dominis que tenim contractats. Fent clic en un d’ells veurem la seua configuració actual.

En la pestanya de Redirecció veurem el domini amb la IP actualment assignada. Esta IP correspon a una pàgina de benvinguda per defecte d’OVH. Fem clic en el botó de configuració a la dreta de la IP, i triem modificar registre. Assignem la que tenim assignada al nostre VPS.

A més, hem d’anar a la secció Zona DNS i modificar els registres A (Address Rècord) perquè el nostre domini apunte a la IP del nostre VPS.

Passats uns dies tindrem disponible el domini (si no és així, haurem de contactar amb OVH a través del suport del panell de client perquè ho refresquen). Podem comprovar-ho fent ping a este domini, i veient que la IP a la qual intenta connectar correspon amb la nostra.

ping maycalle.ovh
PING maycalle.ovh (92.222.22.170): 56 data bytes...

NOTA: si passades 24 o 48 hores seguim sense tindre associada la IP al nostre domini, seguint la documentació oficial d’OVH, hem d’acudir a la mateixa secció de dominis vista abans, però en lloc d’anar a Redirecció, hem d’anar a la secció Zona DNS, i fer clic en el botó Editar en mode text de la part dreta. Apareixerà un quadre per a editar la configuració de DNS manualment, però n’hi ha prou que enviem esta configuració sense més per a sol·licitar que es propague.

Afegir subdominis

Si volem afegir subdominis d’un contractat (per exemple, proves.maycalle.ovh), bastaria amb accedir a este mateix panell de redireccions i polsar el botó de Crear una redirecció en la part dreta. Posarem el nom del subdomini:


Després indicarem a què ho redirigirem (podem redirigir a una web, o a un servidor). En este cas, redirigiríem al nostre servidor VPS:

Després, triem el mètode de redirecció (per IP), i finalment especifiquem l’adreça IP, que serà la que se’ns ha assignat per al VPS. Després d’este pas, confirmarem les dades i quedarà el subdomini registrat en les redireccions.

4. Accés remot al VPS

Existixen diferents maneres d’accedir al VPS per a pujar arxius, descarregar-los o instal·lar programari, entre altres coses. Analitzarem ací algunes de les més habituals i còmodes.

4.1. Accés al VPS per SSH des de Windows (amb contrasenya)

El protocol SSH (Secure Shell) permet connectar-nos de manera segura i xifrada al nostre servidor Linux (VPS) des de Windows.

A través de SSH podrem executar comandos en el servidor, instal·lar programes, modificar configuracions o consultar registres, com si treballàrem directament en el propi servidor.

4.1.1 Connexió al VPS com root des de la terminal de Windows

Una forma rudimentària, però útil, d’accedir al servidor, és a través d’un terminal per SSH (Secure Shell).

Per a això, hem d’obrir la terminal de Windows i escriure el següent comando, indicant el nom del VPS indicat en el correu de confirmació.

ssh root@vps-xxxxxxxx.vps.ovh.net

En el cas de tindre un domini contractat i ja enllaçat amb el VPS (per exemple, maycalle.ovh), podem connectar així:

ssh root@maycalle.ovh

Observa que s’anteposa l’usuari a la direcció del VPS, separats per una arrova.

La primera vegada que et connectes, el client SSH (el teu ordinador) et preguntarà si confies en la empremta digital (*fingerprint) del servidor.

Això no és un error, és una mesura de seguretat per a evitar atacs de suplantació (man-in-the-middle). L’empremta digital del servidor identifica de manera única a la teua VPS. Si algun dia tornes a connectar-te i SSH t’avisa que la clau ha canviat, això podria indicar un problema de seguretat o una reinstal·lació del servidor.

Escriu yes i polsa Enter.

SSH guardarà la clau del servidor en el teu equip (en l’arxiu C:\Users\<el teu_usuari>\.ssh\known_hosts) i ja no tornarà a preguntar la pròxima vegada que connectes.

A continuació, et demanarà la contrasenya de l’usuari root (la que vas rebre per correu en contractar el VPS). En escriure-la no es mostraran caràcters en pantalla, però s’està introduint correctament. Polsa Enter per a accedir.

Una vegada dins, i des del terminal, podrem instal·lar el programari que necessitem (servidors web, servidors de bases de dades, etc), i també detindre o reiniciar estos servicis, com veurem més avant.

4.1.2 Connexió al VPS com root mitjançant un client SSH amb interfície gràfica

També és possible utilitzar algun client SSH que recorde les dades de la connexió per a no haver-los de que indicar cada vegada. En el cas de Windows i Linux, podem utilitzar OpenSSH, per exemple. En el cas específic de Windows disposem de Solar Putty, que permet, entre altres coses, tindre diverses pestanyes de terminal obertes. Pel que fa a sistemes Mac, podem emprar la ferramenta Termius, per exemple. El principal avantatge d’estes ferramentes és simplement el recordar les dades de la connexió per a no haver-los de que posar cada vegada, però podem connectar per SSH amb un simple terminal del sistema operatiu.

NOTA: Des de Windows 10 i Windows 11, ja no és necessari instal·lar programes externs: el sistema inclou el client OpenSSH de manera nativa.

4.1.3 Creació d’un usuari administrador i accés al VPS sense root

Encara que les primeres connexions al VPS solen fer-se amb l’usuari root, en la pràctica no es recomana usar-lo diàriament. L’usuari root té control total del sistema, i qualsevol error (esborrar un arxiu o canviar un permís incorrecte) pot afectar a tot el servidor. En entorns professionals, l’habitual és treballar amb un usuari normal amb permisos d’administració mitjançant sudo.

Seguix els següents passos per a crear un usuari amb permisos de sudo:

  1. Connecta’t al VPS com root i executa:
adduser alumne
usermod -aG sudo alumne
  1. Prova a connectar-te amb el nou usuari:
ssh alumne@vps-xxxxxxxx.vps.ovh.net
  1. Usa sudo quan necessites permisos d’administrador. Per exemple:
sudo apt update

Una vegada comprovat que el teu usuari amb permisos de sudo funciona correctament, és recomanable bloquejar l’accés directe de l’usuari root, especialment en entorns professionals o servidors en producció.

Per a fer-ho, edita la configuració del servici SSH:

  1. Obri l’arxiu sudo nano /etc/ssh/sshd_config
  2. Assegura’t que esta línia siga present: PermitRootLogin prohibit-password
  3. Guarda i recàrrega el servici: sudo systemctl reload ssh

A partir d’eixe moment, ja no serà possible iniciar sessió directament com root per SSH. Només els usuaris autoritzats amb privilegis de sue podran fer tasques d’administració.

4.2 Accés segur al VPS mitjançant clau SSH (recomanat)

Encara que podem accedir al servidor introduint la contrasenya de l’usuari root, la forma més segura i professional de fer-ho és mitjançant autenticació amb clau SSH. Este mètode usa un parell de claus (una pública i una privada) que permet connectar-se sense necessitat d’escriure contrasenyes, evitant atacs per força bruta.

Quan connectes, el servidor verifica que la teua clau privada coincidix amb la seua clau pública associada, i et permet entrar automàticament.

Pas 1. Generar el parell de claus:

Pas 2. Copiar la clau pública al VPS:

Hem de copiar el contingut de l’arxiu id_ed25519.pub dins de /root/.ssh/authorized_keys en el servidor.

Podem fer-ho de dos formes:

  1. Amb ssh-copy (si està disponible): ssh-copy-id root@vps-xxxxxxxx.vps.ovh.net
  2. Manualment:
    • Obri l’arxiu id_ed25519.pub amb el Bloc de notes.
    • Còpia el seu contingut complet (comença per ssh-ed25519 o ssh-rsa).
    • Connecta’t al servidor per SSH (usant la contrasenya).
    • En el VPS, executa:
      • mkdir -p ~/.ssh
      • nano ~/.ssh/authorized_keys
    • Pega la clau copiada, guarda (Ctrl+O, Enter) i sal (Ctrl+X).
    • Assegura els permisos:
      • chmod 700 ~/.ssh
      • chmod 600 ~/.ssh/authorized_keys

Pas 3. Connectar-se al VPS sense contrasenya

Una vegada copiada la clau, ja pots accedir sense escriure la contrasenya. SSH usarà la teua clau privada automàticament i no demanarà la contrasenya.

ssh root@vps-xxxxxxxx.vps.ovh.net

Pas 4. Desactivar l’accés per contrasenya

Una vegada verificat que la connexió amb clau funciona correctament, pots desactivar l’accés per contrasenya per a reforçar la seguretat del VPS.

  1. Edita l’arxiu de configuració del servidor: nano /etc/ssh/sshd_config
  2. Busca i modifica (o afig) estes línies:
    • PermitRootLogin prohibit-password
    • PasswordAuthentication no
  3. Guarda i reinicia el servici:
    • sue systemctl restart ssh

A partir d’eixe moment, només es podrà accedir amb clau SSH.

NOTA: Si accedim al mateix VPS des de diversos equips (per exemple, l’ordinador de classe i el portàtil personal), hem de repetir este procés en cada un. El VPS emmagatzemarà totes les claus públiques autoritzades, una per línia, en l’arxiu /root/.ssh/authorized_keys.

4.3 Accés al VPS mitjançant Visual Studio Code i l’extensió Remote-SSH

Una de les formes més còmodes i professionals de treballar amb la teua VPS és mitjançant Visual Studio Code i la seua extensió Remote - SSH. Esta opció permet connectar-te al servidor i editar, compilar o desplegar codi directament en el VPS, sense haver de pujar arxius manualment per FTP. És la forma de treball més habitual en entorns de desenvolupament web i en equips DevOps.

Seguix els següents passos per a instal·lar l’extensió:

  1. Assegura’t que el teu accés SSH està ben configurat i funcionant des de la terminal (com es va explicar en l’apartat 4.2).
    • És a dir, que pugues executar sense errors: ssh alumne@vps-xxxxxxxx.vps.ovh.net.
    • Si la connexió SSH no funciona des de la terminal, VS Code tampoc podrà connectar-se.
  2. Obri VS Code
  3. Polsa Ctrl+Shift+X (o Cmd+Shift+X en Mac)
  4. Busca Remote - SSH
  5. Instal·la-la (autor: Microsoft)

A continuació, seguix estos passos per a configurar l’accés en VS Code:

  1. Per a facilitar futures connexions, es recomana crear una configuració SSH permanent:
  2. En el teu equip, crea (si no existix) l’arxiu de configuració SSH: C:\Users\<el teu_usuari>\.ssh\config
  3. Afig esta configuració:
Host vps-ovh
  HostName vps-xxxxxxxx.vps.ovh.net
  User root
  IdentityFile C:\Users\<el teu_usuari>\.ssh\id_ed25519
  AddKeysToAgent yes
  ForwardAgent no
  1. Guarda l’arxiu

Ara podràs connectar amb només escriure ssh vps-ovh des de la terminal o seleccionar-ho des de VS Code.

Per a connectar-te i treballar en remot des de VS Code, seguix estos passos:

  1. En VS Code, obri la paleta de comandos (F1 o Ctrl+Shift+P)
  2. Escriu Remote-SSH: Connect to Host... i tria vps-ovh.
  3. VS Code obrirà la sessió remota i mostrarà a baix a l’esquerra: SSH: vps-ovh

Una vegada connectat:

Els canvis es guarden en el VPS, no en el teu equip local.

Per a desconnectar-te, polsa F1 → Remote-SSH: Close Remote Connection, o tanca la finestra.

Si alguna cosa falla:

Exercici 1. Accés inicial i configuració segura del VPS

Accedix al VPS de OVHCloud i deixa-ho configurat per a treballar de manera segura durant la resta del curs: accés sense contrasenya, usuari amb permisos de sue, bloqueig de l’accés root i connexió des de VS Code.

Seguix els següents passos:

  1. Accedix al VPS com root i verifica que pots executar comandos bàsics (ls, apt update)
  2. Crea un usuari amb permisos d’administració
    • Comprova que pots iniciar sessió i usar sudo whoami(ha de retornar root)
  3. Configura l’accés per clau SSH
    • Genera un parell de claus SSH
    • Còpia la teua clau pública al VPS per a l’usuari nou
    • Assegura’t de poder accedir sense escriure la contrasenya
  4. (Opcional) Bloqueja l’accés remot de root
  5. Configura VSCode per a treballar amb el VPS
    • Instal·la l’extensió Remote - SSH en VSCode
    • Crea o edita C:\Users\<el teu_usuari>\.ssh\config com s’explica en els apunts (apartat 4.3)
    • Connecta’t des de VSCode i obri /var/www
    • Crega un arxiu prova.txt i verifica la seua existència en la terminal remota

4.4 Descàrrega d’aplicacions mitjançant git

Si tenim oberta una sessió SSH, podem emprar la ferramenta git per a descarregar aplicacions que tinguem pujades a algun repositori tipus GitHub, BitBucket o similar. Per a això, n’hi ha prou que:

  1. Instal·lem git, si no ho hem fet ja:
sudo apt install git
  1. Registrem de manera global en el sistema les nostres dades del compte de GitHub (e-mail i usuari):
git config --global user.email el_teu_email@domini.com
git config --global user.name el_teu_nick_en_github
  1. Per a descarregar per primera vegada un repositori remot, usarem l’orde git clone, seguida de la URL del repositori a clonar:
git clone url_repositori_git

NOTA: es crearà una subcarpeta amb el nom del repositori en qüestió.

  1. Per a descarregar actualitzacions sobre un projecte prèviament clonat, emprarem el comando git pull, des de la carpeta del projecte en si:
git pull

Exercici 2:

Instal·la git en el teu VPS i configura-ho amb les teues credencials

Connectar un repositori local amb un repositori remot utilitzant VSCode

Si no tenim cap repositori remot disponible, podem utilitzar VS Code per a connectar un repositori local amb un repositori remot. Este procés implica els següents passos:

  1. Creem un nou repositori en GitHub, BitBucket o un altre servici similar; generalment això es pot fer directament des de la interfície web de la plataforma.
    • Accedix al teu compte de Github
    • Feix clic en “New” o “Nou repositori”
    • Introduïx el nom del teu repositori i, de manera opcional, una descripció
    • Tria la visibilitat del repositori (públic o privat).
    • No agregues cap arxiu README ni un .gitignore, ho farem després
    • Finalment, fes clic en “Create repository” o “Crear repositori”.
  2. Inicialitzem un repositori Git des de VS Code
    • Obri el teu projecte en VS Code
    • En la barra lateral, cerca la icona de “Control de codi font” o “Source control” (sembla un parell de branques entrellaçades).
    • Fes clic en “Initialize Repository”. Això crearà un nou repositori Git en el teu projecte, similar a usar git init en la terminal.
  1. Seleccionem els arxius que vulguem per a fer commit; podem agregar arxius a la staging area seleccionant-los i fent clic en el símbol de “més” (+). Això és equivalent a usar git add en el terminal.


  1. Creem i confirmem el primer missatge de commit
    • En la part superior de la pestanya de “Control de codi font”, hi ha un camp per a escriure un missatge de commit.
    • Una vegada escrit el missatge, fes clic en la icona de “check” o “confirmació” per a realitzar el commit. Això és similar a fer git commit -m "missatge" en el terminal.
  2. Connectem amb un repositori remot i fem push
    • Agregar un repositori remot: això usualment es fa una vegada. Pots fer-ho en la terminal amb: git remalnom add origin URL_DE EL_REPOSITORI, ja que esta operació específica no té una interfície directa en VS Code.
    • Fer push dels canvis: en la pestanya de “Source Control”, fes clic sobre “Publicar branch” (pujar canvis a la branca principal del repositori remot). Això farà un git push, enviant els teus canvis locals a la branca remota que acabes de crear.
  3. Incloure els arxius Readme.md i .gitignore
    • En el teu projecte local de VS Code crea un fitxer Readme.md amb el nom del projecte i una breu descripció. Per exemple:

Per a qualsevol nova modificació que es realitze en el projecte local, és important seguir un procés sistemàtic per a assegurar-se que els canvis es registren i se sincronitzen correctament amb el repositori remot:

4.5 Accés per client SFTP per a pujar/baixar arxius

Una altra via d’accés, aprofitant la connexió SSH citada anteriorment, consistix a utilitzar un client gràfic que suport SFTP (SSH File Transfer Protocol). SFTP utilitza la sessió SSH i per tant xifra credencials i dades: és segur sempre que uses SFTP (no FTP) i no et connectes com root.

Un client SFTP permet veure de manera gràfica el sistema d’arxius remot. D’esta manera podem navegar fins a qualsevol carpeta i pujar o descarregar arxius.

Alguns client habituals són: FileZilla (multiplataforma), WinSCP (Windows) o Cyberduck (macOS/Windows). FileZilla pot descarregar-se des del seu web oficial.

Des del gestor de llocs de FileZilla (botó de la cantonada superior esquerra) podem configurar una nova connexió.

Crea una nova entrada, amb els següents paràmetres:

Per a usar autenticació amb clau privada (recomanat):

En connectar, veurem en el panell dret el sistema d’arxius del servidor, i en l’esquerre l’el nostre local. D’esta manera és senzill pujar i descarregar arxius.

4.6 Accés al VPS mitjançant FTP

Una alternativa per a transferir fitxers és instal·lar un servidor FTP en el VPS i crear usuaris restringits (chroot) que només puguen operar en carpetes concretes. FTP no xifra credencials ni dades, per la qual cosa no ha d’usar-se en Internet excepte per compatibilitat amb sistemes heretats (és a dir, clients o aplicacions antigues que només suporten FTP) i sempre sobre FTPS/*TLS.

Un servidor FTP lleuger i comú en Linux és vsftpd. Si ho uses, aplica mesures de seguretat: desactivar accés anònim, chroot per a usuaris, FTPS obligatori i control de permisos. Preferiblement, utilitza sempre SFTP (ve amb SSH).

4.6.1 Instal·lació i arrancada de vsftpd (Debian/Ubuntu)

Accedix al VPS, i des d’escriu el següent comando per a instal·lar el servidor:

sudo apt update
sudo apt install -y vsftpd
sudo systemctl enable --now vsftpd

Després de la instal·lació, podem iniciar i detindre el servidor amb systemctl per a controlar el servici (start/stop/restart/status).

4.6.2 Configuració bàsica

Per a editar la configuració del servidor, hem d’editar l’arxiu /etc/vsftpd.conf.

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
sudo nano /etc/vsftpd.conf

Algunes opcions de configuració interessants:

anonymous_enable=NO
local_enable=YES
write_enable=NO
chroot_local_user=YES
allow_writeable_chroot=NO
ssl_enable=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40100

Després d’editar, reinicia el servidor:

sudo systemctl restart vsftpd

4.6.3 Crear usuaris FTP segurs

L’objectiu és crear usuaris que puguen transferir fitxers però no obrir una consola *SSH ni eixir de la seua carpeta.

Pas 1. Crear un grup per a comptes FTP

Per a identificar millor als usuaris que accedixen per FTP, podem crear un grup, la qual cosa facilita la gestió de permisos i polítiques. Cridarem al grup, per exemple, ftpusers:

sudo groupadd ftpusers

Pas 2. Crear un usuari sense shell (sense accés per consola)

Crearem l’usuari usuarioftp1:

# crear usuari sense shell (no podrà obrir terminal/ssh)
sudo useradd -M -d /srv/ftp/usuarioftp1 -s /usr/sbin/nologin -G ftpusers usuarioftp1
sudo passwd usuarioftp1

En algunes distribucions, vsftpd comprova que el shell estiga llistat en /etc/shells. Si el login falla en usar nologin, afig /usr/sbin/nologin a /etc/shells:

echo "/usr/sbin/nologin" | sudo tee -a /etc/shells

Pas 3. Crear l’estructura de carpetes segura

Vsftpd demana que el directori arrel del chroot no siga escribible per l’usuari. Per això:

# crear directoris
sudo mkdir -p /srv/ftp/usuarioftp1/uploads

# L'arrel del chroot: propietat root, no escribible per l'usuari
sue chown root:root /srv/ftp/usuarioftp1
sue chmod 755 /srv/ftp/usuarioftp1

# Subcarpeta escribible per l'usuari: ací puja fitxers
sudo chown usuarioftp1:ftpusers /srv/ftp/usuarioftp1/uploads
sudo chmod 750 /srv/ftp/usuarioftp1/uploads

Amb els comandos anteriors, l’usuari queda tancat en /srv/ftp/usuarioftp1 (no pot eixir) i només pot escriure en uploads/. Això evita que esborre arxius del sistema o obtinga permisos no desitjats.

4.6.4 Connexió des del client

Per a connectar des del client a este servidor FTP, utilitzem el client FileZilla comentat anteriorment. En este cas, des del Gestor de llocs creem una nova connexió FTP, amb l’usuari que hàgem afegit prèviament.

En connectar, veurem que estem restringits a la carpeta que s’ha assignat a este usuari.

Esta manera d’accedir i pujar arxius és més segura, al no poder alterar el contingut de carpetes externes a la indicada en la configuració. Podem emprar este mètode per a pujar arxius com a imatges, vídeos, etc.