Travail a distance : Différence entre versions

Un article de Informaticiens département des sciences de la Terre et l'atmosphère
Aller à: navigation, charcher
m (Connexion sur les serveur de l'UQAM à partir de l’extérieur)
m
 
(39 révisions intermédiaires par 3 utilisateurs non affichées)
Ligne 1: Ligne 1:
== Connexion sur les serveur de l'UQAM à partir de l’extérieur ==
+
== Connexion sur les '''serveur Linux''' de l'UQAM à partir de l’extérieur ==
  
 
<br>
 
<br>
Ligne 6: Ligne 6:
 
* d'un <big>'''système d'exploitation'''</big> ( Windows, Linux ou MacOS ) <big>'''à jour'''</big> et
 
* d'un <big>'''système d'exploitation'''</big> ( Windows, Linux ou MacOS ) <big>'''à jour'''</big> et
 
* d'un <big>'''antivirus à jour''' !!!</big><br>
 
* d'un <big>'''antivirus à jour''' !!!</big><br>
 +
 +
 +
<big>'''Systeme d'exploitation'''</big><br>
 +
* '''Windows'''
 +
Installez un de suivant:
 +
* [https://mobaxterm.mobatek.net '''MobaXterm'''] ou
 +
* [http://www.chiark.greenend.org.uk/~sgtatham/putty/ '''Putty'''] (meilleur pour le 'ssh tunnel', voir ci-dessous) ou
 +
* [https://docs.microsoft.com/en-us/windows/wsl/about '''Windows Subsystem for Linux'''] plus sophistiqué!
 +
* [https://www.microsoft.com/en-us/p/ubuntu/9nblggh4msv6?SilentAuth=1&activetab=pivot:overviewtab '''Installer ubuntu à partir de microsoft store ''']
 +
  Lorsque vous avez fini l'installation veuillez installer l'interface graphique sur ubuntu:
 +
      Ouvrir ubuntu, tapez
 +
        '''apt install x11-apps'''
 +
      Par la suite, tapez
 +
        '''export DISPLAY=localhost:0.0'''
 +
 +
* '''MacOS'''
 +
Utiliser le côté UNIX
 +
* '''Linux'''
 +
Ouvrez simplement un terminal
 +
 +
 +
Pour se connecter de l’extérieur de l'UQÀM sur les serveurs du Centre ESCER, vous devez passer par un des nos '''serveur externs''':
 +
'''st0.sca.uqam.ca'''
 +
ou
 +
'''hoppy.sca.uqam.ca'''
 +
 +
 +
<big>'''Ouverture des fenêtres sur les serveurs'''</big><br>
 +
Si vous voulez ouvrir des fenêtres graphiques sur les serveurs, vous devrez toujour ajoutez les clés '-Y' et '-C' aux commandes 'ssh' (voir ci-dessous):<br>
 +
&nbsp;&nbsp;&nbsp;  '''ssh -YC ...'''
 +
<br>
 +
Soyez conscient qu’'''ouvrir des fenêtres peut être long et pénible'''!!!<br>
 
<br>
 
<br>
 +
  
 
=== 1. La méthode simple / The simple way ===
 
=== 1. La méthode simple / The simple way ===
Pour se connecter de l’extérieur de l'UQÀM sur les serveurs du Centre ESCER, vous devez passer par notre nouveau serveur '''hoppy''' (il remplace st2). Adresse DNS : '''hoppy.sca.uqam.ca'''<br/>
+
Pour se connecter de l’extérieur de l'UQÀM sur les serveurs du Centre ESCER, vous devez d'abord vous connecter sur un des nos serveurs externs '''st0''' (st0.sca.uqam.ca) ou '''hoppy''' (hoppy.sca.uqam.ca).
Une fois sur le serveur hoppy, vous pouvez vous connecter sur un des serveurs du Centre ESCER en n'utilisant que le nom du serveur ('robert', 'zwack', 'glacier', 'snow'). Pas besoin de mettre le 'sca.uqam.ca'. Cette connection se fera en utilisant le protocole ssh
+
Une fois sur st0 ou hoppy, vous pouvez vous connecter sur un des serveurs du Centre ESCER en n'utilisant que le nom du serveur ('robert', 'zwack', 'glacier', 'snow', 'alea', 'jacta'). Pas besoin de mettre le 'sca.uqam.ca'! Cette connection se fera en utilisant le protocole ssh:
  
   # de sa machine à l'extérieur :
+
   # De sa machine à l'extérieur :
 
   '''ssh ''nom_de_l_usager''@hoppy.sca.uqam.ca'''            # donner le mot de passe
 
   '''ssh ''nom_de_l_usager''@hoppy.sca.uqam.ca'''            # donner le mot de passe
   # une fois qu'on est sur hoppy :
+
   # Une fois sur st0/hoppy :
 
   '''ssh ''nom_du_serveur'''''                              # donner le mot de passe
 
   '''ssh ''nom_du_serveur'''''                              # donner le mot de passe
   # ignorer les messages
+
   # Ignorer les messages
   # ...... Permission denied
+
   #   ...... Permission denied
  
 
Répéter les 2 étapes '''pour chaque connection''' ssh vers un serveur, dans des '''fenêtres différentes''' sur votre ordinateur personnel.<br>
 
Répéter les 2 étapes '''pour chaque connection''' ssh vers un serveur, dans des '''fenêtres différentes''' sur votre ordinateur personnel.<br>
Si vous voulez ouvrir des fenêtres sur les serveurs ajoutez '-Y' après le 'ssh' -> 'ssh -Y ...'. Soyez conscient qu’'''ouvrir des fenêtres peux être long et pénible'''!!!
 
  
 
=== 2. Avec une commande combinée / With a compound command ===
 
=== 2. Avec une commande combinée / With a compound command ===
  
  # de sa machine à l'extérieur :
+
  # De sa machine à l'extérieur :
  '''ssh -t ''nom_de_l_usager''@hoppy.sca.uqam.ca''' '''ssh ''nom_du_serveur'''''  # donner les mots de passe
+
  &nbsp;&nbsp;&nbsp;'''ssh -t ''nom_de_l_usager''@st0.sca.uqam.ca'''  '''ssh ''nom_du_serveur'''''  # donner les mots de passe
  # ignorer les messages
+
ou
  # ...... Permission denied
+
&nbsp;&nbsp;&nbsp;'''ssh -t ''nom_de_l_usager''@hoppy.sca.uqam.ca''' '''ssh ''nom_du_serveur'''''  # donner les mots de passe
(répéter '''pour chaque connection''' ssh vers un serveur, dans des '''fenêtres différentes''' sur votre ordinateur personnel)
+
# Ignorer les messages
 +
#   ...... Permission denied
 +
(répéter '''pour chaque connection''' ssh vers un serveur, dans des '''fenêtres différentes''' sur votre ordinateur personnel)<br>
  
 
=== 3. Méthode plus sophistiquée / A more sophisticated way (Linux et/and MacOS !!!) ===
 
=== 3. Méthode plus sophistiquée / A more sophisticated way (Linux et/and MacOS !!!) ===
 
'''Faciliter l'ouverture de multiples fenêtres'''<br>
 
'''Faciliter l'ouverture de multiples fenêtres'''<br>
Pour faciliter l'ouverture de multiples fenêtres sur les serveur vous pouvez d'abord établir un "canal ssh" entre votre machine et les serveurs du Centre ESCER. Pour le faire introduirez ce qui suit dans le fichier de configuration personnel du client ssh '''${HOME}/.ssh/config'''
+
Pour faciliter l'ouverture de multiples fenêtres sur les serveur vous pouvez d'abord établir un "canal ssh" entre votre machine et les serveurs du Centre ESCER. Pour le faire introduirez ce qui suit dans le fichier de configuration personnel du client ssh '''${HOME}/.ssh/config'''<br>
(remplacer username par votre nom d'usager sur les serveurs du groupe ESCER)
+
'''Remplacer ''username'' partout par votre nom d'usager sur les serveurs du groupe ESCER!!!'''
 
  ServerAliveInterval=15
 
  ServerAliveInterval=15
 
  ServerAliveCountMax=3
 
  ServerAliveCountMax=3
 
  TCPKeepAlive=yes
 
  TCPKeepAlive=yes
 +
#
 +
Compression=yes
 
  #
 
  #
 
  Host snow
 
  Host snow
Ligne 58: Ligne 94:
 
  Port 3304
 
  Port 3304
 
  #
 
  #
  Host hoppy
+
  Host alea
  Hostname hoppy.sca.uqam.ca
+
  Hostname localhost
 +
User ''username''
 +
Port 3305
 +
#
 +
Host jacta
 +
Hostname localhost
 +
User ''username''
 +
Port 3306
 +
#
 +
Host st0
 +
Hostname st0.sca.uqam.ca
 
  User ''username''
 
  User ''username''
 
  DynamicForward 8888
 
  DynamicForward 8888
Ligne 66: Ligne 112:
 
  LocalForward 3303 robert.sca.uqam.ca:22
 
  LocalForward 3303 robert.sca.uqam.ca:22
 
  LocalForward 3304 zwack.sca.uqam.ca:22
 
  LocalForward 3304 zwack.sca.uqam.ca:22
 +
LocalForward 3305 alea.sca.uqam.ca:22
 +
LocalForward 3306 jacta.sca.uqam.ca:22
  
 
NOTE: les 3 premières lignes servent à garder la connection en place en cas d'inactivité prolongée <br>(les serveurs ssh ont tendance a couper la ligne en cas d'inactivité pendant une période variable selon le serveur).<br>
 
NOTE: les 3 premières lignes servent à garder la connection en place en cas d'inactivité prolongée <br>(les serveurs ssh ont tendance a couper la ligne en cas d'inactivité pendant une période variable selon le serveur).<br>
3301/3302/3303/3304 peuvent être remplacés par tout numéro de "port" valide non privilégié (1024 < port < 32768) et non utilisé par un autre logiciel.
+
3301/3302/3303/3304/3305/3306 peuvent être remplacés par tout numéro de "port" valide non privilégié (1024 < port < 32768) et non utilisé par un autre logiciel.<br>
 +
'''Compression=yes''' ajoute l'option '''-C''' de ssh a la connection (utile particulièrement avec l'option '''-X''' ou '''-Y''')
  
 
Ensuite on opére en deux étapes:<br>
 
Ensuite on opére en deux étapes:<br>
 
  1 - à partir de votre machine, établiez la connection vers hoppy (nécessaire '''une seule fois''')
 
  1 - à partir de votre machine, établiez la connection vers hoppy (nécessaire '''une seule fois''')
   '''ssh hoppy'''                              # donner le mot de passe
+
   '''ssh st0'''                              # donner le mot de passe
 
  2 - à partir de votre machine, dans une autre fenêtre, ssh direct vers un serveur (snow par exemple) ('''autant de fois''' qu'on désire des sessions ssh)
 
  2 - à partir de votre machine, dans une autre fenêtre, ssh direct vers un serveur (snow par exemple) ('''autant de fois''' qu'on désire des sessions ssh)
 
   '''ssh snow'''                                # donner le mot de passe
 
   '''ssh snow'''                                # donner le mot de passe
Ligne 132: Ligne 181:
 
  [https://docs.computecanada.ca/wiki/Using_SSH_keys_in_Linux clés SSH avec Linux]
 
  [https://docs.computecanada.ca/wiki/Using_SSH_keys_in_Linux clés SSH avec Linux]
  
== Matlab à distance ==
+
 
 +
 
 +
== Matlab ==
 +
 
 +
To see all available versions type 'mat' and then press the <Tab> key. You will see we have version:
 +
    mat2014a, mat2014b, mat2015a, mat2015b, mat2016a, mat2016b, mat2017a,...
 +
 
 +
 
 +
=== Matlab à distance ===
  
 
The fastest way to execute a Matlab script is to '''not open any windows''':
 
The fastest way to execute a Matlab script is to '''not open any windows''':
Ligne 139: Ligne 196:
  
 
2) '''Execute Matlab script without opening any windows'''<br/>
 
2) '''Execute Matlab script without opening any windows'''<br/>
a) Make sure your Matlab script does not open any windows. Add for example ('visible','off') to the 'figure' command:
+
a) Make sure your Matlab script does '''not open any figure windows'''. To avoid displaying your figures add for example ('visible','off') to the 'figure' command:
  
 
     a=1:4;
 
     a=1:4;
     f = figure('visible','off');
+
     fig = figure('visible','off');
 
     plot(a)
 
     plot(a)
     saveas(f,'newout','fig')
+
     saveas(fig,'newout','fig')
 +
 
 +
Or, if you already executed the 'figure' command before add:
 +
 
 +
    set(fig, 'visible', 'off')
 
<br/>
 
<br/>
b) Run your Matlab script without opening any windows.<br/>
+
b) '''Open Matlab in "command line mode"''' without opening any windows with:<br/>
Assuming your Matlab script is called 'mplot.m', execute:
+
 
 +
    matlab -nodesktop -nosplash
  
     matlab -nodesktop -nosplash -nojvm -r "mplot;quit;"
+
Then you can execute your scripts with:<br/>
 +
 
 +
    >> ''matlab_script''
 +
<br/>
 +
If you only want to execute one script you can also execute it right away with:<br/>
 +
 
 +
     matlab -nodesktop -nosplash -r "''matlab_script''; quit;"
 +
<br/>
 +
You need to '''omit the '.m' extension''' of your script in the calls!<br/>
  
You need to omit the '.m' extension of your script in the call!<br/>
 
You can of course replace the default 'matlab' version by any of our versions (mat2014a, mat2014b, mat2015a, mat2015b, mat2016a, mat2016b, ...).
 
  
If you have any problems/corrections/suggestions, please, send me an email: winger.katja@uqam.ca
+
If you have any problems/corrections/suggestions, send me an email: winger.katja@uqam.ca
  
 
== Python à distance ==
 
== Python à distance ==

Version actuelle datée du 12 de julliette 2021 à 14:54

Connexion sur les serveur Linux de l'UQAM à partir de l’extérieur


IMPORTANT !!!
Dans tout les cas votre ordinateur doit être muni

  • d'un système d'exploitation ( Windows, Linux ou MacOS ) à jour et
  • d'un antivirus à jour !!!


Systeme d'exploitation

  • Windows
Installez un de suivant:
* MobaXterm ou 
* Putty (meilleur pour le 'ssh tunnel', voir ci-dessous) ou
* Windows Subsystem for Linux plus sophistiqué!
* Installer ubuntu à partir de microsoft store 
  Lorsque vous avez fini l'installation veuillez installer l'interface graphique sur ubuntu: 
     Ouvrir ubuntu, tapez
        apt install x11-apps
     Par la suite, tapez
        export DISPLAY=localhost:0.0
  • MacOS
Utiliser le côté UNIX
  • Linux
Ouvrez simplement un terminal


Pour se connecter de l’extérieur de l'UQÀM sur les serveurs du Centre ESCER, vous devez passer par un des nos serveur externs:

st0.sca.uqam.ca 

ou

hoppy.sca.uqam.ca


Ouverture des fenêtres sur les serveurs
Si vous voulez ouvrir des fenêtres graphiques sur les serveurs, vous devrez toujour ajoutez les clés '-Y' et '-C' aux commandes 'ssh' (voir ci-dessous):
    ssh -YC ...
Soyez conscient qu’ouvrir des fenêtres peut être long et pénible!!!


1. La méthode simple / The simple way

Pour se connecter de l’extérieur de l'UQÀM sur les serveurs du Centre ESCER, vous devez d'abord vous connecter sur un des nos serveurs externs st0 (st0.sca.uqam.ca) ou hoppy (hoppy.sca.uqam.ca). Une fois sur st0 ou hoppy, vous pouvez vous connecter sur un des serveurs du Centre ESCER en n'utilisant que le nom du serveur ('robert', 'zwack', 'glacier', 'snow', 'alea', 'jacta'). Pas besoin de mettre le 'sca.uqam.ca'! Cette connection se fera en utilisant le protocole ssh:

 # De sa machine à l'extérieur :
 ssh nom_de_l_usager@hoppy.sca.uqam.ca            # donner le mot de passe
 # Une fois sur st0/hoppy :
 ssh nom_du_serveur                               # donner le mot de passe
 # Ignorer les messages
 #    ...... Permission denied

Répéter les 2 étapes pour chaque connection ssh vers un serveur, dans des fenêtres différentes sur votre ordinateur personnel.

2. Avec une commande combinée / With a compound command

# De sa machine à l'extérieur :
   ssh -t nom_de_l_usager@st0.sca.uqam.ca   ssh nom_du_serveur   # donner les mots de passe
ou
   ssh -t nom_de_l_usager@hoppy.sca.uqam.ca ssh nom_du_serveur   # donner les mots de passe
# Ignorer les messages
#    ...... Permission denied

(répéter pour chaque connection ssh vers un serveur, dans des fenêtres différentes sur votre ordinateur personnel)

3. Méthode plus sophistiquée / A more sophisticated way (Linux et/and MacOS !!!)

Faciliter l'ouverture de multiples fenêtres
Pour faciliter l'ouverture de multiples fenêtres sur les serveur vous pouvez d'abord établir un "canal ssh" entre votre machine et les serveurs du Centre ESCER. Pour le faire introduirez ce qui suit dans le fichier de configuration personnel du client ssh ${HOME}/.ssh/config
Remplacer username partout par votre nom d'usager sur les serveurs du groupe ESCER!!!

ServerAliveInterval=15
ServerAliveCountMax=3
TCPKeepAlive=yes
#
Compression=yes
#
Host snow
Hostname localhost
User username
Port 3301
#
Host glacier
Hostname localhost
User username
Port 3302
#
Host robert
Hostname localhost
User username
Port 3303
#
Host zwack
Hostname localhost
User username
Port 3304
#
Host alea
Hostname localhost
User username
Port 3305
#
Host jacta
Hostname localhost
User username
Port 3306
#
Host st0
Hostname st0.sca.uqam.ca
User username
DynamicForward 8888
LocalForward 3301 snow.sca.uqam.ca:22
LocalForward 3302 glacier.sca.uqam.ca:22
LocalForward 3303 robert.sca.uqam.ca:22
LocalForward 3304 zwack.sca.uqam.ca:22
LocalForward 3305 alea.sca.uqam.ca:22
LocalForward 3306 jacta.sca.uqam.ca:22

NOTE: les 3 premières lignes servent à garder la connection en place en cas d'inactivité prolongée
(les serveurs ssh ont tendance a couper la ligne en cas d'inactivité pendant une période variable selon le serveur).
3301/3302/3303/3304/3305/3306 peuvent être remplacés par tout numéro de "port" valide non privilégié (1024 < port < 32768) et non utilisé par un autre logiciel.
Compression=yes ajoute l'option -C de ssh a la connection (utile particulièrement avec l'option -X ou -Y)

Ensuite on opére en deux étapes:

1 - à partir de votre machine, établiez la connection vers hoppy (nécessaire une seule fois)
  ssh st0                               # donner le mot de passe
2 - à partir de votre machine, dans une autre fenêtre, ssh direct vers un serveur (snow par exemple) (autant de fois qu'on désire des sessions ssh)
  ssh snow                                # donner le mot de passe

Transfert de données

Transfert de données de/vers l'UQÀM

VPN

A Venir / Work in progress
IMPORTANT 

1. Vous devez faire la demande à votre professeur pour avoir accès au VPN étudiant de l'uqam.
2. Votre ordinateur doit être muni d'un antivirus à jour. 
3. D'un système d'exploitation ( windows, linux ou Mac ) à jour. 
 
Voici la façon de configurer votre VPN

Téléchargement,installation et configuration du client VPN «Pulse Secure» sur un PC (Windows) 
Téléchargement, installation et configuration du client VPN «Pulse Secure» sur un Macintosh (Mac OS).
Téléchargement, installation et configuration du client VPN «Pulse Secure» sur Linux Ubuntu 18.04/Debian (32bit, 64 bit)
Téléchargement, installation et configuration du client VPN «Pulse Secure» sur un iPhone/iPad
Téléchargement, installation et configuration du client VPN «Pulse Secure» sur un téléphone Android
 
Dans la section URL, vous devez remplacer https://www.acces.uqam.ca/secure par https://www.acces.uqam.ca/etudiant

Recette pour "power users", à utiliser avec précaution

1 - établir un canal "proxy"

ssh -D 8888 votre_compte@hoppy.sca.uqam.ca

2 - créer un profil d'usager supplémentaire (avec proxy) dans le fureteur de votre machine(firefox/chrome/brave/safari/...)

proxy de type socks5
port 8888 
hôte localhost 
pour firefox/linux http://armnlib.uqam.ca/images/proxy.png

3 - redémarrer votre fureteur en utilisant le profil d'usager avec proxy créé à l'étape 2

quelques références

https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Multiple_profiles
https://support.mozilla.org/en-US/kb/profile-manager-create-remove-switch-firefox-profiles
https://unixblogger.com/proxy-over-ssh-on-windows-mac-or-linux

N.B. 8888 n'est qu'un exemple et peut être remplacé par tout numéro de "port" valide supérieur à 1024. Ce port doit évidemment être libre (non utilisé par un autre logiciel)

(supplément d' information et images à venir)

SSH

Putty (client Windows)
MobaXTerm (client Windows)
Linux et Mac OS X fournissent un client SSH

quelques références utiles (Calcul Canada):

usage des clés SSH
Windows
MobaXTerm
Putty
clés SSH avec Windows
Linux / Mac
clés SSH avec Linux


Matlab

To see all available versions type 'mat' and then press the <Tab> key. You will see we have version:

   mat2014a, mat2014b, mat2015a, mat2015b, mat2016a, mat2016b, mat2017a,...


Matlab à distance

The fastest way to execute a Matlab script is to not open any windows:

1) Write the Matlab script either on the UQAM servers with 'vi' or 'vim', or, if you are not comfortable with these, you can also write the script on your local computer and copy it on the servers to execute it there.

2) Execute Matlab script without opening any windows
a) Make sure your Matlab script does not open any figure windows. To avoid displaying your figures add for example ('visible','off') to the 'figure' command:

   a=1:4;
   fig = figure('visible','off');
   plot(a)
   saveas(fig,'newout','fig')

Or, if you already executed the 'figure' command before add:

   set(fig, 'visible', 'off')


b) Open Matlab in "command line mode" without opening any windows with:

   matlab -nodesktop -nosplash

Then you can execute your scripts with:

   >> matlab_script


If you only want to execute one script you can also execute it right away with:

   matlab -nodesktop -nosplash -r "matlab_script; quit;"


You need to omit the '.m' extension of your script in the calls!


If you have any problems/corrections/suggestions, send me an email: winger.katja@uqam.ca

Python à distance

nature

The fastest way to execute a Python script is to not open any windows:

1) Write the Python script either on the UQAM servers with 'vi' or 'vim', or, if you are not comfortable with these, you can also write the script on your local computer and copy it on the servers to execute it there.

2) Execute Python script with

   python scriptname

Jupyter (python) à distance

A Venir / Work in progress

Spyder (python) à distance

A Venir / Work in progress
condamné à être lent et pénible!!!