Man page - ssh(1)
Packages contains this manual
Available languages:
en fr pl tr uk ro zh_TW zh_CN deManual
SSH (1) General Commands Manual SSH (1)
NOM
ssh â Client de connexion Ă distance dâOpenSSH
SYNOPSIS
ssh [ -46AaCfGgKkMNnqsTtVvXxYy ] [ -B interface_sortie ] [ -b adr_sortie ] [ -c algos_chiffrement ] [ -D [
adr_sortie : ] port ] [ -E fichier_journal ] [ -e caractÚre_échappement ] [ -F fichier_configuration ] [ -I pkcs11 ] [ -i fichier_identité ] [ -J destination ] [ -L adresse ] [ -l nom_connexion ] [ -m algos_MAC ] [ -O commande_de_contrÎle ] [ -o option ] [ -P symbole ] [ -p port ] [ -R adresse ] [ -S socket_contrÎle ] [ -W machine : port ] [ -w tunnel_local [: tunnel_distant ]] destination [ commande [ argument ... ]]
ssh [ -Q option_requĂȘte ]
DESCRIPTION
ssh (le client SSH) est un programme permettant de se connecter Ă une machine distante et dâexĂ©cuter des commandes sur cette derniĂšre. Il a pour but dâĂ©tablir des communications chiffrĂ©es sĂ©curisĂ©es entre deux machines non dignes de confiance sur un rĂ©seau non sĂ©curisĂ©. Les connexions X11, les ports TCP arbitraires et les sockets de domaine UNIX peuvent aussi transiter par le canal sĂ©curisĂ©.
ssh se connecte et sâidentifie sur la machine destination qui peut ĂȘtre spĂ©cifiĂ©e Ă lâaide de [
utilisateur@ ]nommachine ou dâun URI de la forme
ssh://[
utilisateur@ ]nommachine[:port]. Lâutilisateur doit
prouver son identité auprÚs de la machine
distante en utilisant une méthode parmi plusieurs
(voir ci-dessous).
Si une commande est spĂ©cifiĂ©e, elle sera exĂ©cutĂ©e sur la machine distante Ă la place dâun interprĂ©teur de commande de connexion. commande peut correspondre Ă une ligne de commande complĂšte ou possĂ©der des arguments additionnels. Sâils sont prĂ©sents, ces arguments seront ajoutĂ©s Ă la commande, sĂ©parĂ©s par des espaces, avant que cette derniĂšre soit envoyĂ©e Ă la machine distante pour y ĂȘtre exĂ©cutĂ©e.
Les options sont les suivantes :
-4
Forcer ssh Ă nâutiliser que des adresses IPv4.
-6
Forcer ssh Ă nâutiliser que des adresses IPv6.
-A
Active la redirection des connexions depuis un agent dâauthentification comme ssh-agent (1). Cette option peut aussi ĂȘtre dĂ©finie machine par machine dans un fichier de configuration.
La redirection dâagent doit ĂȘtre activĂ©e avec prĂ©caution. En effet, les utilisateurs capables de court-circuiter les permissions de fichier sur la machine distante (pour le socket de domaine UNIX de lâagent) peuvent accĂ©der Ă lâagent local Ă travers la connexion transfĂ©rĂ©e. MĂȘme si un attaquant ne pourra pas obtenir de clĂ©s depuis lâagent, il pourra tout de mĂȘme effectuer des opĂ©rations sur les clĂ©s qui lui permettront de sâauthentifier en utilisant les identitĂ©s chargĂ©es dans lâagent. Une alternative plus sĂ»re consiste Ă utiliser une machine de saut (voir -J ).
-a
DĂ©sactive la redirection de connexion de lâagent dâauthentification.
-B interface_sortie
PrĂ©ciser lâadresse de lâinterface interface_sortie avant de tenter une connexion vers la machine distante. Cette option nâest utile que sur les systĂšmes qui possĂšdent plusieurs adresses.
-b adr_sortie
Utiliser lâadresse adr_sortie sur la machine locale comme adresse source de la connexion. Cette option nâest utile que sur les systĂšmes qui possĂšdent plusieurs adresses.
-C
Requiert la compression de toutes les donnĂ©es (y compris stdin, stdout, stderr et les donnĂ©es pour les connexions redirigĂ©es X11, TCP et de domaine UNIX). Lâalgorithme de compression est le mĂȘme que celui utilisĂ© par gzip (1). La compression est souhaitable sur les lignes modem ou autres connexions lentes, mais elle ne fera que ralentir le trafic si elle est activĂ©e sur un rĂ©seau rapide. On peut aussi spĂ©cifier la valeur par dĂ©faut machine par machine dans les fichiers de configuration ; voir lâoption Compression dans ssh_config (5).
-c algos_chiffrement
SpĂ©cifie les algorithmes de chiffrement Ă utiliser pour chiffrer la session. algos_chiffrement est une liste dâalgorithmes de chiffrement sĂ©parĂ©s par des virgules et prĂ©sentĂ©s par ordre de prĂ©fĂ©rence. Voir le mot-clĂ© Ciphers dans ssh_config (5) pour plus dâinformations.
-D
[
adr_sortie
:]
port
SpĂ©cifie une redirection de port local « dynamique » au niveau applicatif. Le fonctionnement consiste Ă allouer un socket pour Ă©couter le port cĂŽtĂ© local, optionnellement associĂ© Ă lâadresse adr_sortie indiquĂ©e. Chaque fois quâune connexion est effectuĂ©e vers ce port, elle est transfĂ©rĂ©e par le canal sĂ©curisĂ© et le protocole applicatif est alors utilisĂ© pour dĂ©terminer vers oĂč se connecter depuis la machine distante. Actuellement, les protocoles SOCKS4 et SOCKS5 sont pris en charge et ssh se comporte comme un serveur SOCKS. Seul le superutilisateur peut rediriger des ports privilĂ©giĂ©s. On peut aussi spĂ©cifier des redirections de port dynamiques dans le fichier de configuration.
On peut spĂ©cifier des adresses IPv6 en les entourant de crochets. Seul le superutilisateur peut rediriger des ports privilĂ©giĂ©s. Par dĂ©faut, le port local est liĂ© en accord avec la dĂ©finition de GatewayPorts . On peut cependant utiliser une adresse adr_sortie explicite pour lier la connexion Ă une adresse spĂ©cifique. Lâadresse adr_sortie de « localhost » indique que le port dâĂ©coute ne pourra ĂȘtre liĂ© que pour un usage local, alors quâune adresse vide ou « * » indique que le port sera disponible depuis toutes les interfaces.
-E fichier_journal
Ajoute les informations de dĂ©bogage au fichier_journal au lieu de les envoyer sur la sortie dâerreur standard.
-e caractÚre_échappement
SpĂ©cifie le caractĂšre dâĂ©chappement pour les sessions avec un pseudo-terminal (pty). Le caractĂšre par dĂ©faut est « Ë ». Le caractĂšre dâĂ©chappement suivi dâun point « . » ferme la connexion ; suivi de ContrĂŽle-Z, il la suspend et suivi de lui-mĂȘme, il envoie le caractĂšre dâĂ©chappement une fois. En dĂ©finissant le caractĂšre dâĂ©chappement à « none », on dĂ©sactive tout Ă©chappement et on rend la session totalement transparente.
-F fichier_configuration
SpĂ©cifie un autre fichier de configuration par utilisateur. Si on fournit un fichier de configuration dans la ligne de commande, le fichier global ( /etc/ssh/ssh_config ) est ignorĂ©. Lâemplacement par dĂ©faut pour le fichier de configuration utilisateur est Ë/.ssh/config . Si cette option est dĂ©finie à « none », aucun fichier de configuration ne sera lu.
-f
Demande Ă ssh de basculer en arriĂšre-plan juste avant dâexĂ©cuter la commande. Cette option est particuliĂšrement utile si ssh est appelĂ© Ă demander des mots de passe ou des phrases de passe, alors que lâutilisateur souhaite que cela sâeffectue en arriĂšre-plan. Elle implique lâoption -n . La mĂ©thode recommandĂ©e pour exĂ©cuter des programmes X11 sur une machine distante pourrait ressembler Ă Â : ssh -f machine xterm .
Si lâoption de configuration ExitOnForwardFailure est dĂ©finie à « yes », un client dĂ©marrĂ© avec lâoption -f attendra que toutes les redirections de port distant soient effectuĂ©es avec succĂšs avant de se placer lui-mĂȘme en arriĂšre-plan. Voir la description de ForkAfterAuthentication dans ssh_config (5) pour les dĂ©tails.
-G
Demande Ă ssh dâafficher sa configuration aprĂšs Ă©valuation des blocs Host et Match puis de quitter.
-g
Permet Ă des machines distantes de se connecter Ă des ports redirigĂ©s locaux. Si elle est utilisĂ©e sur une connexion multiplexĂ©e, cette option doit ĂȘtre spĂ©cifiĂ©e sur le processus maĂźtre.
-I pkcs11
SpĂ©cifie la bibliothĂšque partagĂ©e PKCS#11 que ssh devra utiliser pour communiquer avec un jeton PKCS#11 fournissant des clĂ©s pour lâauthentification utilisateur.
-i fichier_identité
SpĂ©cifie un fichier Ă partir duquel lâidentitĂ© (la clĂ© privĂ©e) pour lâauthentification de la clĂ© publique est lue. Vous pouvez aussi spĂ©cifier un fichier de clĂ© publique pour utiliser la clĂ© privĂ©e correspondante chargĂ©e dans ssh-agent (1) lorsque le fichier de la clĂ© privĂ©e nâest pas prĂ©sent en local. Les fichiers par dĂ©faut sont Ë/.ssh/id_rsa , Ë/.ssh/id_ecdsa , Ë/.ssh/id_ecdsa_sk , Ë/.ssh/id_ed25519 , et Ë/.ssh/id_ed25519_sk . On peut aussi spĂ©cifier lâemplacement des fichiers dâidentitĂ© pour une machine donnĂ©e dans le fichier de configuration. On peut spĂ©cifier plusieurs options -i (et plusieurs identitĂ©s dans les fichiers de configuration). Si aucun certificat nâa Ă©tĂ© explicitement spĂ©cifiĂ© Ă lâaide de la directive CertificateFile , ssh va tenter de charger les informations de certificat Ă partir du fichier dont le nom sera obtenu en ajoutant -cert.pub aux noms des fichiers dâidentitĂ©.
-J destination
Se connecter Ă la machine cible en Ă©tablissant tout dâabord une connexion ssh vers la machine de saut indiquĂ©e par destination , puis en effectuant une redirection TCP vers la destination finale depuis la machine de saut. Il est possible de spĂ©cifier plusieurs sauts successifs en les sĂ©parant par des virgules. Il est possible de spĂ©cifier des adresses IPv6 en les entourant de crochets. Cette option est un raccourci pour dĂ©finir une directive de configuration ProxyJump . Notez que les directives de configuration fournies sur la ligne de commande sâappliquent en gĂ©nĂ©ral Ă la machine de destination et Ă aucune des machines de saut Ă©ventuellement indiquĂ©es. Pour dĂ©finir des directives de configuration qui sâappliquent aux machines de saut, utilisez le fichier Ë/.ssh/config .
-K
Active lâauthentification basĂ©e sur GSSAPI et les transferts (dĂ©lĂ©gations) dâidentifiants GSSAPI vers le serveur.
-k
DĂ©sactive les transferts (dĂ©lĂ©gations) dâidentifiants GSSAPI vers le serveur.
-L
[
adr_sortie
:]
port
:
machine
:
port_machine
-L
[
adr_sortie
:]
port
:
socket_distant
-L
socket_local
:
machine
:
port_machine
-L
socket_local
:
socket_distant
Indique que les connexions vers le port TCP ou le socket Unix donnĂ© de la machine locale (client) seront transfĂ©rĂ©es vers la machine et le port donnĂ©s ou le socket Unix sur la machine distante. Ce processus fonctionne grĂące Ă lâallocation dâun socket qui Ă©coute soit un port TCP de la machine locale Ă©ventuellement liĂ© Ă lâadresse adr_sortie spĂ©cifiĂ©e, soit un socket Unix. DĂšs quâune connexion est Ă©tablie sur le port local ou le socket, elle est transfĂ©rĂ©e Ă travers le canal sĂ©curisĂ©, et une connexion est Ă©tablie vers le port_machine de la machine ou le socket Unix socket_distant depuis la machine distante.
Les redirections de port peuvent aussi ĂȘtre dĂ©finies dans le fichier de configuration. Seul le superutilisateur peut transfĂ©rer des ports privilĂ©giĂ©s. Il est possible de spĂ©cifier des adresses IPv6 en les entourant de crochets.
Par dĂ©faut, le port local est liĂ© en accord avec la dĂ©finition de GatewayPorts . On peut cependant indiquer une adresse adr_sortie explicite pour lier la connexion Ă une adresse spĂ©cifique. Lâadresse adr_sortie « localhost » indique que le port local ne peut ĂȘtre liĂ© que pour un usage local, alors quâune adresse vide ou « * » indique que le port sera disponible sur toutes les interfaces.
-l nom_connexion
Indique le nom dâutilisateur sous lequel se connecter Ă la machine distante. Il peut aussi ĂȘtre spĂ©cifiĂ© pour une machine donnĂ©e dans le fichier de configuration.
-M
Place le client ssh en mode « master » pour le partage de connexion. SpĂ©cifier plusieurs options -M place le client ssh en mode « master », mais avec demande de confirmation en utilisant ssh-askpass (1) avant toute opĂ©ration qui modifie lâĂ©tat du multiplexage (par exemple ouvrir une nouvelle session). Voir la description de ControlMaster dans ssh_config (5) pour les dĂ©tails.
-m algos_MAC
Une liste dâalgorithmes MAC (message authentication code, code dâauthentification de message) sĂ©parĂ©s par des virgules et classĂ©s par ordre de prĂ©fĂ©rence. Voir le mot-clĂ© MACs dans ssh_config (5) pour plus dâinformations.
-N
NâexĂ©cute aucune commande distante. UtilisĂ© pour les redirections de ports. Voir la description de SessionType dans ssh_config (5) pour les dĂ©tails.
-n
Redirige lâentrĂ©e standard vers /dev/null (en fait, empĂȘche la lecture depuis lâentrĂ©e standard). Ă utiliser lorsque ssh sâexĂ©cute en arriĂšre-plan. Cette option peut sâavĂ©rer utile pour exĂ©cuter des programmes X11 sur une machine distante. Par exemple, ssh -n shadows.cs.hut.fi emacs & dĂ©marre emacs sur shadows.cs.hut.fi, et la connexion X11 est transfĂ©rĂ©e automatiquement Ă travers un canal cryptĂ©. Le programme ssh est basculĂ© en arriĂšre-plan. Ne fonctionne cependant pas si ssh nĂ©cessite un mot de passe ou une phrase de passe ; voir aussi lâoption -f . Consulter la description de StdinNull dans ssh_config (5) pour les dĂ©tails.
-O commande_de_contrĂŽle
ContrĂŽler un processus actif maĂźtre de multiplexage de connexion. Lorsque lâoption -O est spĂ©cifiĂ©e, lâargument commande_de_contrĂŽle est interprĂ©tĂ© et transmis au processus maĂźtre. Les commandes valables sont : « check » (vĂ©rifie que le processus maĂźtre est en cours dâexĂ©cution), « forward » (redirection sans exĂ©cution de commande), « cancel » (annulation des redirections), « proxy » (connexion Ă un processus maĂźtre de multiplexage en cours dâexĂ©cution en mode mandataire), « exit » (demande au processus maĂźtre de quitter) et « stop » (demande au processus maĂźtre de ne plus accepter de demandes de multiplexage ultĂ©rieures).
-o option
Cette option permet de spĂ©cifier des options dans le format du fichier de configuration et qui nâont pas dâĂ©quivalent en ligne de commande. Pour plus de dĂ©tails sur les options listĂ©es ci-aprĂšs, ainsi que les valeurs autorisĂ©es, veuillez vous rĂ©fĂ©rer Ă ssh_config (5).
AddKeysToAgent
AddressFamily
BatchMode
BindAddress
BindInterface
CASignatureAlgorithms
CanonicalDomains
CanonicalizeFallbackLocal
CanonicalizeHostname
CanonicalizeMaxDots
CanonicalizePermittedCNAMEs
CertificateFile
ChannelTimeout
CheckHostIP
Ciphers
ClearAllForwardings
Compression
ConnectTimeout
ConnectionAttempts
ControlMaster
ControlPath
ControlPersist
DynamicForward
EnableEscapeCommandline
EnableSSHKeysign
EscapeChar
ExitOnForwardFailure
FingerprintHash
ForkAfterAuthentication
ForwardAgent
ForwardX11
ForwardX11Timeout
ForwardX11Trusted
GSSAPIAuthentication
GSSAPIKeyExchange
GSSAPIClientIdentity
GSSAPIDelegateCredentials
GSSAPIKexAlgorithms
GSSAPIRenewalForcesRekey
GSSAPIServerIdentity
GSSAPITrustDns
GatewayPorts
GlobalKnownHostsFile
HashKnownHosts
Host
HostKeyAlgorithms
HostKeyAlias
HostbasedAcceptedAlgorithms
HostbasedAuthentication
Hostname
IPQoS
IdentitiesOnly
IdentityAgent
IdentityFile
IgnoreUnknown
Include
KbdInteractiveAuthentication
KbdInteractiveDevices
KexAlgorithms
KnownHostsCommand
LocalCommand
LocalForward
LogLevel
LogVerbose
MACs
NoHostAuthenticationForLocalhost
NumberOfPasswordPrompts
ObscureKeystrokeTiming
PKCS11Provider
PasswordAuthentication
PermitLocalCommand
PermitRemoteOpen
Port
PreferredAuthentications
ProxyCommand
ProxyJump
ProxyUseFdpass
PubkeyAcceptedAlgorithms
PubkeyAuthentication
RekeyLimit
RemoteCommand
RemoteForward
RequestTTY
RequiredRSASize
RevokedHostKeys
SecurityKeyProvider
SendEnv
ServerAliveCountMax
ServerAliveInterval
SessionType
SetEnv
StdinNull
StreamLocalBindMask
StreamLocalBindUnlink
StrictHostKeyChecking
SyslogFacility
TCPKeepAlive
Tag
Tunnel
TunnelDevice
UpdateHostKeys
User
UserKnownHostsFile
VerifyHostKeyDNS
VisualHostKey
XAuthLocation
-P symbole
SpĂ©cifier un nom de symbole (tag) Ă utiliser pour sĂ©lectionner une configuration dans ssh_config (5). Voir les mots-clĂ©s Tag et Match dans ssh_config (5) pour plus dâinformations.
-p port
Le port auquel se connecter sur la machine distante. On peut aussi le spécifier pour une machine donnée dans le fichier de configuration.
-Q option_requĂȘte
RequĂ©rir les algorithmes de chiffrement pris en charge par une des fonctionnalitĂ©s suivantes : cipher (algorithmes symĂ©triques), cipher-auth (algorithmes symĂ©triques qui prennent en charge le chiffrement authentifiĂ©), help (termes de requĂȘte pris en charge Ă utiliser avec lâoption -Q ), mac (codes dâintĂ©gritĂ© de message pris en charge), kex (algorithmes dâĂ©change de clĂ©s), kex-gss (algorithmes dâĂ©change de clĂ©s GSSAPI), key (types de clĂ©), key-ca-sign (algorithmes de signature dâAutoritĂ©s de Certification (CA) valables pour les certificats), key-cert (types de clĂ© de certificat), key-plain (types de clĂ© hors certificats), key-sig (tous les types de clĂ© et algorithmes de signature), protocol-version (versions du protocole SSH prises en charge) et sig (algorithmes de signature pris en charge). Autrement, tout mot-clĂ© de ssh_config (5) ou sshd_config (5) qui prend une liste dâalgorithmes peut ĂȘtre utilisĂ© comme alias pour lâoption de requĂȘte correspondante.
-q
Mode silencieux. Supprime la plupart des messages dâavertissement et de diagnostic.
-R
[
adr_sortie
:]
port
:
machine
:
port_machine
-R
[
adr_sortie
:]
port
:
socket_local
-R
socket_distant
:
machine
:
port_machine
-R
socket_distant
:
socket_local
-R
[
adr_sortie
:]
port
Spécifie que les connexions vers le port TCP ou le socket Unix donné de la machine distante (serveur) seront transférées vers la machine locale.
Ă cet effet, un socket est allouĂ© qui Ă©coute un port TCP ou un socket Unix sur la machine distante. DĂšs quâune connexion est Ă©tablie sur ce port ou ce socket Unix, elle est transfĂ©rĂ©e Ă travers le canal sĂ©curisĂ©, et une connexion est effectuĂ©e depuis la machine locale vers une destination explicite spĂ©cifiĂ©e par le port de la machine ou socket_local , ou, si aucune destination explicite nâa Ă©tĂ© spĂ©cifiĂ©e, ssh se comportera comme un mandataire SOCKS 4/5 et transfĂ©rera les connexions vers les destinations requises par le client SOCKS distant.
On peut aussi spécifier des redirections de port (port forwardings) dans le fichier de configuration. On ne peut transférer des ports privilégiés que si on se connecte en tant que superutilisateur sur la machine distante. Il est possible de spécifier des adresses IPv6 en les entourant de crochets.
Par dĂ©faut, les sockets dâĂ©coute TCP sur le serveur ne peuvent ĂȘtre liĂ©s quâĂ lâinterface loopback. Pour modifier ce comportement, on peut spĂ©cifier une adresse adr_sortie . Une adresse adr_sortie vide ou lâadresse « * » indique que le socket distant doit Ă©couter toutes les interfaces. SpĂ©cifier une adresse adr_sortie distante ne rĂ©ussira que si lâoption GatewayPorts est activĂ©e sur le serveur (voir sshd_config (5)).
Si lâargument port est Ă©gal Ă 0 , le port dâĂ©coute sera allouĂ© dynamiquement sur le serveur et indiquĂ© au client Ă lâexĂ©cution. Si utilisĂ© en combinaison avec -O forward , le port allouĂ© sera envoyĂ© sur la sortie standard
-S socket_contrĂŽle
Indique lâemplacement dâun socket de contrĂŽle pour le partage de connexion, ou la chaĂźne « none » pour dĂ©sactiver le partage de connexion. Voir les descriptions de ControlPath et ControlMaster dans ssh_config (5) pour les dĂ©tails.
-s
Permet dâinvoquer un sous-systĂšme sur la machine distante. Les sous-systĂšmes simplifient lâutilisation de SSH comme transport sĂ©curisĂ© pour dâautres applications (par exemple sftp (1)). Le sous-systĂšme est spĂ©cifiĂ© Ă lâaide de la commande distante. Voir la description de SessionType dans ssh_config (5) pour les dĂ©tails.
-T
DĂ©sactive lâallocation dâun pseudo-terminal.
-t
Force lâallocation dâun pseudo-terminal. UtilisĂ© pour exĂ©cuter des programmes en mode Ă©cran sur la machine distante, ce qui peut sâavĂ©rer fort utile, par exemple, pour les applications qui implĂ©mentent des services de menu. En ajoutant des options -t , on force lâallocation de terminaux, mĂȘme si ssh nâa pas de terminal local.
-V
Affiche le numéro de version et quitte.
-v
Mode prolixe. Avec cette option, ssh affiche des messages de dĂ©bogage sur les actions quâil effectue. Fort utile pour dĂ©boguer les problĂšmes de connexion, dâauthentification ou de configuration. Ajouter des options -v augmente la prolixitĂ©. Le maximum est de 3.
-W machine : port
Demande que les entrĂ©e et sortie standards sur le client soient transfĂ©rĂ©es vers le port de machine par le canal sĂ©curisĂ©. Implique -N , -T , ExitOnForwardFailure et ClearAllForwardings , bien que ces options puissent ĂȘtre surchargĂ©es dans le fichier de configuration ou en utilisant lâoption de ligne de commande -o .
-w
tunnel_local
[:
tunnel_distant
]
Demande la redirection par dispositif de tunnel avec les dispositifs tun (4) spécifiés entre le client ( tunnel_local ) et le serveur ( tunnel_distant ).
Les dispositifs peuvent ĂȘtre spĂ©cifiĂ©s par un ID numĂ©rique ou le mot-clĂ© « any », auquel cas câest le premier dispositif de tunnel disponible qui sera utilisĂ©. La valeur par dĂ©faut de tunnel_distant est « any » au cas oĂč il ne serait pas spĂ©cifiĂ©. Voir aussi les directives Tunnel et TunnelDevice dans ssh_config (5).
Si la directive Tunnel nâest pas dĂ©finie, elle prendra pour valeur le mode de tunnel par dĂ©faut, Ă savoir « point-to-point ». Si un autre mode de redirection Tunnel est souhaitĂ©, il devra ĂȘtre spĂ©cifiĂ© avant -w .
-X
Active la redirection X11. On peut aussi le spécifier pour une machine donnée dans le fichier de configuration.
La redirection X11 doit ĂȘtre activĂ©e avec prĂ©caution. En effet, les utilisateurs capables de contourner les permissions des fichiers sur la machine distante (pour accĂ©der Ă la base de donnĂ©es dâaccrĂ©ditation de X) peuvent accĂ©der au « display » X11 local par lâintermĂ©diaire de la connexion transfĂ©rĂ©e. Un attaquant pourrait alors effectuer des opĂ©rations telles que lâenregistrement de la frappe.
Câest pour cette raison que par dĂ©faut, la redirection X11 est assujettie aux restrictions de lâextension X11 SECURITY. Veuillez vous rĂ©fĂ©rer Ă lâoption -Y de ssh et Ă la directive ForwardX11Trusted dans ssh_config (5) pour plus dâinformations.
(SpĂ©cifique Ă Debian : par dĂ©faut, les redirections X11 ne sont pas soumises aux restrictions de lâextension SECURITY de X11, car actuellement de trop nombreux programmes plantent dans ce mode. Pour restaurer le comportement amont, vous pouvez dĂ©finir lâoption ForwardX11Trusted à « no ». Cette situation Ă©voluera dans le futur si des amĂ©liorations sont apportĂ©es cĂŽtĂ© client).
-x
Désactive la redirection X11.
-Y
Active une redirection X11 de confiance. Les redirections X11 de confiance ne sont pas assujetties aux contrĂŽles de lâextension X11 SECURITY.
(SpĂ©cifique Ă Debian : dans la configuration par dĂ©faut, cette option est Ă©quivalente Ă -X puisque ForwardX11Trusted a pour valeur par dĂ©faut « yes », comme indiquĂ© ci-dessus. Pour restaurer le comportement amont, vous pouvez dĂ©finir lâoption ForwardX11Trusted à « no ». Cette situation Ă©voluera dans le futur si des amĂ©liorations sont apportĂ©es cĂŽtĂ© client).
-y
Envoyer les informations de journalisation en utilisant le module systÚme syslog (3). Par défaut, ces informations sont envoyées à stderr.
ssh peut aussi obtenir les donnĂ©es de configuration depuis un fichier de configuration dâutilisateur particulier et depuis un fichier de configuration global. Le format du fichier et les options de configuration sont dĂ©crits dans ssh_config (5).
AUTHENTIFICATION
Le client SSH OpenSSH prend en charge la version 2 du protocole SSH.
Pour lâauthentification, les mĂ©thodes disponibles sont : lâauthentification basĂ©e sur GSSAPI, lâauthentification basĂ©e sur la machine, lâauthentification par clĂ© publique, lâauthentification par interaction au clavier (keyboard-interactive) et lâauthentification par mot de passe. Les mĂ©thodes dâauthentification sont essayĂ©es selon lâordre dans lequel elles sont indiquĂ©es ci-dessus, mais cet ordre par dĂ©faut peut ĂȘtre modifiĂ© Ă lâaide de la directive PreferredAuthentications .
Lâauthentification basĂ©e sur la machine fonctionne comme suit : si la machine sur laquelle lâutilisateur est connectĂ© est enregistrĂ©e dans /etc/hosts.equiv ou /etc/ssh/shosts.equiv sur la machine distante, si lâutilisateur est autre que le superutilisateur et si les noms dâutilisateur sont les mĂȘmes des deux cĂŽtĂ©s, ou si le fichier Ë/.rhosts ou Ë/.shosts existent dans le rĂ©pertoire personnel de lâutilisateur sur la machine distante et comporte une ligne contenant le nom de la machine cliente et le nom de lâutilisateur sur cette machine, lâutilisateur est autorisĂ© Ă se connecter. De plus, le serveur doit pouvoir vĂ©rifier la clĂ© de la machine du client (voir la description de /etc/ssh/ssh_known_hosts et Ë/.ssh/known_hosts ci-dessous) pour que la connexion soit autorisĂ©e. Cette mĂ©thode dâidentification bouche les trous de sĂ©curitĂ© dus aux usurpations dâadresse IP, de DNS et de routage. [Note Ă lâattention de lâadministrateur : /etc/hosts.equiv , Ë/.rhosts et le protocole rlogin/rsh dans sa globalitĂ© sont intrinsĂšquement non sĂ©curisĂ©s et doivent ĂȘtre dĂ©sactivĂ©s si vous attachez de lâimportance Ă la sĂ©curitĂ©.]
Lâauthentification par clĂ© publique fonctionne comme suit : son principe est basĂ© sur la cryptographie Ă clĂ© publique et utilise des systĂšmes cryptographiques oĂč le chiffrement et le dĂ©chiffrement utilisent des clĂ©s sĂ©parĂ©es et avec lesquels il est impossible de dĂ©terminer la clĂ© de dĂ©chiffrement Ă partir de la clĂ© de chiffrement. LâidĂ©e de base est la suivante : chaque utilisateur crĂ©e une paire de clĂ©s publique/privĂ©e Ă des fins dâauthentification ; le serveur connaĂźt la clĂ© publique, mais seul lâutilisateur connaĂźt la clĂ© privĂ©e. ssh implĂ©mente automatiquement le protocole dâauthentification par clĂ© publique en utilisant un des algorithmes ECDSA, Ed25519 ou RSA.
Le fichier Ë/.ssh/authorized_keys liste les clĂ©s publiques qui sont autorisĂ©es Ă se connecter. Lorsque lâutilisateur se connecte, le programme ssh indique au serveur quelle paire de clĂ©s il souhaiterait utiliser pour lâauthentification. Le client prouve quâil a accĂšs Ă la clĂ© privĂ©e et le serveur vĂ©rifie si la clĂ© publique correspondante est autorisĂ©e Ă accepter le compte.
Le serveur pourra Ă©ventuellement indiquer au client les erreurs qui ont fait Ă©chouer lâauthentification par clĂ© publique lorsque lâauthentification a rĂ©ussi en utilisant une autre mĂ©thode. Ces erreurs peuvent ĂȘtre vues en augmentant le niveau de journalisation LogLevel Ă DEBUG ou plus (par exemple en utilisant lâoption -v ).
Lâutilisateur crĂ©e sa paire de clĂ©s Ă lâaide de ssh-keygen (1). Ce programme enregistre la clĂ© privĂ©e dans Ë/.ssh/id_ecdsa (ECDSA), Ë/.ssh/id_ecdsa_sk (clĂ© ECDSA hĂ©bergĂ©e par un authentificateur), Ë/.ssh/id_ed25519 (Ed25519), Ë/.ssh/id_ed25519_sk (clĂ© Ed25519 hĂ©bergĂ©e par un authentificateur) ou Ë/.ssh/id_rsa (RSA) et la clĂ© publique dans Ë/.ssh/id_ecdsa.pub (ECDSA), Ë/.ssh/id_ecdsa_sk.pub (clĂ© ECDSA hĂ©bergĂ©e par un authentificateur), Ë/.ssh/id_ed25519.pub (Ed25519), Ë/.ssh/id_ed25519_sk.pub (clĂ© Ed25519 hĂ©bergĂ©e par un authentificateur) ou Ë/.ssh/id_rsa.pub (RSA) dans le rĂ©pertoire personnel de lâutilisateur. Lâutilisateur doit alors copier la clĂ© publique dans Ë/.ssh/authorized_keys dans son rĂ©pertoire personnel sur la machine distante. Le fichier authorized_keys est Ă©quivalent au fichier Ë/.rhosts traditionnel et il comporte une clĂ© par ligne, mĂȘme si ces derniĂšres peuvent ĂȘtre trĂšs longues. Cela fait, lâutilisateur peut se connecter sans avoir Ă prĂ©senter de mot de passe.
Lâauthentification par certificat est une variante de lâauthentification par clĂ© publique : Ă la place de la paire de clĂ©s publique/privĂ©e, elle utilise des certificats signĂ©s, ce qui a pour avantage de ne nĂ©cessiter quâune seule autoritĂ© de certification de confiance au lieu de nombreuses paires de clĂ©s publiques/privĂ©es. Voir la section CERTIFICATS de ssh-keygen (1) pour plus dâinformations.
La meilleure mĂ©thode pour mettre en Ćuvre lâauthentification par clĂ© publique ou par certificat consiste Ă utiliser un agent dâauthentification. Voir ssh-agent (1) et Ă©ventuellement la directive AddKeysToAgent dans ssh_config (5) pour plus dâinformations.
Lâauthentification par interaction au clavier (keyboard-interactive) fonctionne comme suit : le serveur envoie une "question" arbitraire sous forme de texte et attend une rĂ©ponse, Ă©ventuellement plusieurs fois. On peut citer comme exemples dâauthentification par interaction au clavier lâauthentification BSD (voir login.conf (5)) et lâauthentification PAM (certains systĂšmes non-OpenBSD).
En fin de compte, si les autres mĂ©thodes dâauthentification Ă©chouent, ssh demandera un mot de passe Ă lâutilisateur. Ce mot de passe sera alors envoyĂ© Ă la machine distante pour vĂ©rification, et comme toutes les communications sont chiffrĂ©es, un individu qui Ă©couterait le rĂ©seau ne pourra pas le voir.
ssh entretient et vĂ©rifie automatiquement une base de donnĂ©es contenant lâidentification pour toutes les machines avec lesquelles il a dĂ©jĂ Ă©tĂ© utilisĂ©. Les clĂ©s dâhĂŽte sont stockĂ©es dans Ë/.ssh/known_hosts dans le rĂ©pertoire personnel de lâutilisateur. De plus, une vĂ©rification des machines connues est automatiquement effectuĂ©e dans le fichier /etc/ssh/ssh_known_hosts . Toute nouvelle machine est ajoutĂ©e au fichier de lâutilisateur. Si lâidentification dâune machine est modifiĂ©e, ssh Ă©met un avertissement et dĂ©sactive lâauthentification par mot de passe pour empĂȘcher toute usurpation de serveur ou attaque de type « homme du milieu » qui pourrait sans cela ĂȘtre utilisĂ©e pour contourner le chiffrement. Lâoption StrictHostKeyChecking permet de contrĂŽler les connexions aux machines dont la clĂ© dâhĂŽte est inconnue ou a Ă©tĂ© modifiĂ©e.
Lorsque lâidentitĂ© de lâutilisateur a Ă©tĂ© acceptĂ©e par le serveur, soit une commande a Ă©tĂ© spĂ©cifiĂ©e et le serveur lâexĂ©cute dans le cadre dâune session non interactive, soit aucune commande nâa Ă©tĂ© spĂ©cifiĂ©e et le serveur connecte lâutilisateur Ă la machine et lui ouvre un interprĂ©teur de commande normal dans le cadre dâune session interactive. Toutes les communications avec la commande ou lâinterprĂ©teur distants sont automatiquement chiffrĂ©es.
Si une session interactive est requise, par dĂ©faut, ssh ne demandera quâun pseudo-terminal (pty) pour les sessions interactives lorsque le client en possĂšde un. Les options -T et -t permettent dâoutrepasser ce comportement.
Si un pseudo-terminal a Ă©tĂ© allouĂ©, lâutilisateur peut utiliser les caractĂšres dâĂ©chappement notĂ©s ci-dessous.
Si aucun pseudo-terminal nâa Ă©tĂ© allouĂ©, la session est transparente et permet de transmettre des donnĂ©es binaires de maniĂšre fiable. Sur la plupart des systĂšmes, dĂ©finir le caractĂšre dâĂ©chappement à « none » rendra aussi la session transparente, mĂȘme si un tty est utilisĂ©.
La session est fermĂ©e lorsque la commande ou lâinterprĂ©teur de commande sur la machine distante quitte et si toutes les connexions X11 et TCP ont Ă©tĂ© fermĂ©es.
CARACTĂRES DâĂCHAPPEMENT
Lorsquâun pseudo-terminal a Ă©tĂ© demandĂ©, ssh prend en charge un certain nombre de fonctions Ă lâaide de caractĂšres dâĂ©chappement.
Pour envoyer un simple caractĂšre tilde, on peut utiliser ËË ou faire suivre le tilde dâun caractĂšre autre que ceux dĂ©crits ci-dessous. Le caractĂšre dâĂ©chappement doit toujours ĂȘtre prĂ©cĂ©dĂ© dâun caractĂšre nouvelle ligne pour ĂȘtre considĂ©rĂ© comme spĂ©cial. Il peut ĂȘtre changĂ© en ligne de commande Ă lâaide de lâoption -e ou dans les fichiers de configuration Ă lâaide de la directive EscapeChar .
Les Ă©chappements pris en charge (en comptant lâĂ©chappement par dĂ©faut « Ë ») sont :
Ë.
Déconnecter.
ËËZ
ssh en arriĂšre-plan.
Ë#
Lister les connexions transmises.
Ë&
ssh en arriĂšre-plan Ă la dĂ©connexion lorsquâon attend la fin dâune connexion redirigĂ©e ou dâune session X11.
Ë?
Afficher une liste des caractĂšres dâĂ©chappement.
ËB
Envoyer un BREAK au systĂšme distant (pertinent seulement si la machine distante le prend en charge).
ËC
Ouvrir une ligne de commande. Actuellement, cette action permet dâajouter des redirections de port en utilisant les options -L , -R et -D (voir ci-dessus). Elle permet aussi dâannuler des redirections de port existants Ă lâaide de -KL [
adr_sortie
: ]
port
pour la machine locale,
-KR
[
adr_sortie
: ]
port
pour la machine distante et
-KD
[
adr_sortie
: ]
port
pour les redirections de port
dynamiques.
!
commande
permet Ă
lâutilisateur dâexĂ©cuter une commande
locale si la directive
PermitLocalCommand
est
définie dans
ssh_config
(5). Lâoption
-h
permet dâafficher une aide succincte.
ËR
Demander une nouvelle saisie des informations de connexion (pertinent seulement si la machine distante le prend en charge).
ËV
Diminue la prolixité ( LogLevel ) quand les erreurs sont affichées sur stderr.
Ëv
Augmente la prolixitĂ© ( LogLevel ) quand les erreurs sont affichĂ©es sur la sortie dâerreur.
TRANSFERT TCP
Il est possible de spĂ©cifier la redirection de connexions TCP arbitraires sur un canal sĂ©curisĂ© soit en ligne de commande, soit dans un fichier de configuration. La connexion sĂ©curisĂ©e Ă un serveur de messagerie est un exemple dâapplication de la redirection TCP ; passer par des pare-feux en est un autre.
Dans lâexemple ci-dessous, on cherche Ă chiffrer les communications pour un client IRC, mĂȘme si le serveur IRC auquel il se connecte ne prend pas directement en charge les communications chiffrĂ©es. Le fonctionnement est le suivant : lâutilisateur se connecte Ă la machine distante Ă lâaide de ssh en spĂ©cifiant le port Ă utiliser pour transfĂ©rer la connexion. Cela fait, il est possible de dĂ©marrer le programme en local, et ssh chiffrera et transfĂ©rera la connexion vers le serveur distant.
Lâexemple suivant fait passer par un tunnel une session IRC depuis le client vers un serveur IRC à « server.example.com » en rejoignant le canal « #users », avec le pseudo « pinky », en utilisant le port IRC standard 6667 :
$ ssh -f -L
6667:localhost:6667 server.example.com sleep 10
$ irc -c â#usersâ pinky IRC/127.0.0.1
Lâoption -f fait passer ssh en arriĂšre-plan et la commande distante « sleep 10 » est spĂ©cifiĂ©e pour accorder un certain temps (10 secondes dans lâexemple) avant de dĂ©marrer le programme qui est sur le point dâutiliser le tunnel. Si aucune connexion nâest effectuĂ©e dans ce laps de temps, ssh quittera.
TRANSFERT X11
Si la variable ForwardX11 est dĂ©finie à « yes » (ou voir la description des options -X , -x et -Y ci-dessus) et si lâutilisateur utilise X11 (la variable dâenvironnement DISPLAY est dĂ©finie), la connexion au « display » X11 est automatiquement transfĂ©rĂ©e Ă la machine distante de façon que tout programme X11 dĂ©marrĂ© depuis lâinterprĂ©teur de commande (ou Ă lâaide dâune commande) passera par le canal chiffrĂ©, et la connexion au vĂ©ritable serveur X sera Ă©tablie depuis la machine locale. Lâutilisateur ne doit pas dĂ©finir manuellement DISPLAY. La redirection des connexions X11 peut ĂȘtre configurĂ©e en ligne de commande ou dans les fichiers de configuration.
Comme ssh crée un serveur X « mandataire » sur la machine serveur pour transférer les connexions sur le canal chiffré, il est normal que la valeur de DISPLAY définie par ssh pointe vers la machine serveur, mais avec un numéro de « display » supérieur à zéro.
ssh va aussi dĂ©finir automatiquement les donnĂ©es Xauthority sur la machine serveur. Ă cet effet, il va gĂ©nĂ©rer un cookie dâautorisation alĂ©atoire, le stocker dans Xauthority sur le serveur et vĂ©rifier que toute connexion transfĂ©rĂ©e transporte bien ce cookie et le remplace par le vĂ©ritable cookie lorsque la connexion est ouverte. Le vĂ©ritable cookie dâauthentification nâest jamais envoyĂ© Ă la machine serveur (et aucun cookie nâest envoyĂ© en clair).
Si la variable ForwardAgent est dĂ©finie à « yes » (ou voir la description des options -A et -a ci-aprĂšs) et si lâutilisateur utilise un agent dâauthentification, la connexion Ă lâagent est transfĂ©rĂ©e automatiquement vers la machine distante.
VĂRIFIER LES CLĂS DâHĂTE
Lorsquâil se connecte Ă un serveur pour la premiĂšre fois, une empreinte de la clĂ© publique du serveur est prĂ©sentĂ©e Ă lâutilisateur (Ă moins que lâoption StrictHostKeyChecking nâait Ă©tĂ© dĂ©sactivĂ©e). Les empreintes peuvent ĂȘtre dĂ©terminĂ©es en utilisant ssh-keygen (1)  :
$ ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key
Si lâempreinte est dĂ©jĂ connue, elle peut ĂȘtre vĂ©rifiĂ©e et la clĂ© acceptĂ©e ou rejetĂ©e. Si les empreintes traditionnelles (MD5) sont les seules disponibles pour le serveur, lâoption -E de ssh-keygen (1) permet de dĂ©grader lâalgorithme dâempreinte pour quâil convienne.
Comme il est difficile de comparer les clĂ©s dâhĂŽte en regardant simplement les chaĂźnes dâempreinte, la comparaison visuelle des clĂ©s dâhĂŽte est aussi prise en charge en utilisant random art . En dĂ©finissant lâoption VisualHostKey à « yes », un petit graphisme ASCII est affichĂ© Ă chaque connexion Ă un serveur, et cela que la session elle-mĂȘme soit interactive ou non. En mĂ©morisant le motif que produit un serveur connu, un utilisateur peut aisĂ©ment dĂ©tecter que la clĂ© dâhĂŽte a changĂ© si un motif totalement diffĂ©rent est affichĂ©. Comme ces motifs ne sont pas dĂ©pourvus dâambiguĂŻtĂ©, un motif qui paraĂźtra identique au motif mĂ©morisĂ© ne constituera cependant quâune bonne probabilitĂ© pour que la clĂ© dâhĂŽte soit la mĂȘme, non une preuve irrĂ©futable.
La ligne de commande suivante permet dâobtenir une liste des empreintes et de leurs motifs alĂ©atoires pour toutes les machines connues :
$ ssh-keygen -lv -f Ë/.ssh/known_hosts
Si lâempreinte nâest pas connue, il existe une autre mĂ©thode de vĂ©rification : les empreintes SSH vĂ©rifiĂ©es par DNS. Un enregistrement ressource (RR), SSHFP, est ajoutĂ© Ă un fichier de zone et le client qui se connecte est alors en mesure de comparer lâempreinte avec celle de la clĂ© prĂ©sentĂ©e.
Dans cet exemple, un client se connecte au serveur « host.example.com ». Lâenregistrement ressource SSHFP doit avoir Ă©tĂ© ajoutĂ© au fichier de zone pour host.example.com :
$ ssh-keygen -r host.example.com.
Les lignes en sortie devront ĂȘtre ajoutĂ©es au fichier de zone. Pour vĂ©rifier si la zone rĂ©pond aux demandes dâempreinte :
$ dig -t SSHFP host.example.com
Finalement, le client se connecte :
$ ssh -o
"VerifyHostKeyDNS ask" host.example.com
[...]
Matching host key fingerprint found in DNS.
Are you sure you want to continue connecting (yes/no)?
Voir lâoption VerifyHostKeyDNS dans ssh_config (5) pour plus dâinformations.
VPN BASĂ SUR SSH
ssh prend en charge les tunnels par VPN (RĂ©seau PrivĂ© Virtuel) Ă lâaide du pseudo-pĂ©riphĂ©rique rĂ©seau tun (4) qui permet de relier deux rĂ©seaux de maniĂšre sĂ©curisĂ©e. Lâoption de configuration PermitTunnel de sshd_config (5) permet de contrĂŽler la prise en charge par le serveur de cette fonctionnalitĂ© et Ă quel niveau (trafic de couche 2 ou 3).
Dans lâexemple suivant, le rĂ©seau client 10.0.50.0/24 est reliĂ© au rĂ©seau distant 10.0.99.0/24 en utilisant une connexion point-Ă -point de 10.1.1.1 Ă 10.1.1.2, Ă condition que le serveur SSH qui sâexĂ©cute sur la passerelle (dâadresse 192.168.1.15) vers le rĂ©seau distant le permette.
Sur le client :
# ssh -f -w 0:1
192.168.1.15 true
# ifconfig tun0 10.1.1.1 10.1.1.2 netmask 255.255.255.252
# route add 10.0.99.0/24 10.1.1.2
Sur le serveur :
# ifconfig tun1
10.1.1.2 10.1.1.1 netmask 255.255.255.252
# route add 10.0.50.0/24 10.1.1.1
LâaccĂšs du client peut ĂȘtre configurĂ© plus finement Ă lâaide du fichier /root/.ssh/authorized_keys (voir plus loin) et de lâoption de serveur PermitRootLogin . LâentrĂ©e suivante permet des connexions sur le dispositif tun (4) numĂ©ro 1 depuis lâutilisateur « jane » et sur le dispositif tun de numĂ©ro 2 depuis lâutilisateur « john » si PermitRootLogin est dĂ©finie à « forced-commands-only » :
tunnel="1",command="sh
/etc/netstart tun1" ssh-rsa ... jane
tunnel="2",command="sh /etc/netstart
tun2" ssh-rsa ... john
Une configuration basĂ©e sur SSH impliquant une surcharge consĂ©quente, elle est plus adaptĂ©e aux configurations temporaires comme les VPN sans fil. Pour des VPN plus persistants, il est prĂ©fĂ©rable dâutiliser des outils comme ipsecctl (8) ou isakmpd (8).
ENVIRONNEMENT
Normalement, ssh va dĂ©finir les variables dâenvironnement suivantes :
DISPLAY
La variable DISPLAY indique lâemplacement du serveur X11. Elle est automatiquement dĂ©finie par ssh Ă une valeur de la forme « nom_machine:n » oĂč « nom_machine » indique la machine sur laquelle lâinterprĂ©teur de commande sâexĂ©cute, et oĂč « n » est un entier â„ 1. ssh utilise cette valeur spĂ©ciale pour transfĂ©rer les connexions X11 sur le canal sĂ©curisĂ©. Normalement, lâutilisateur ne doit pas dĂ©finir explicitement DISPLAY, car la connexion ne serait alors plus sĂ©curisĂ©e (et lâutilisateur devrait copier manuellement tout cookie dâautorisation requis).
HOME
DĂ©finie au chemin du rĂ©pertoire personnel de lâutilisateur.
LOGNAME
Synonyme de USER  ; définie à des fins de compatibilité avec les systÚmes qui utilisent cette variable.
DĂ©finie au chemin de la boĂźte aux lettres de lâutilisateur.
PATH
Définie à la valeur par défaut de PATH spécifiée lors de la compilation de .
SSH_ASKPASS
Si ssh nĂ©cessite une phrase de passe, il la lit depuis le terminal en cours sâil est exĂ©cutĂ© depuis un terminal. Si ssh nâest pas associĂ© Ă un terminal, alors que les variables dâenvironnement DISPLAY et SSH_ASKPASS sont dĂ©finies, il exĂ©cute le programme spĂ©cifiĂ© dans SSH_ASKPASS et ouvre une fenĂȘtre X11 pour lire la phrase de passe, ce qui sâavĂšre particuliĂšrement utile lors dâun appel de ssh depuis .xsession ou un script Ă©quivalent (notez que sur certaines machines, il peut ĂȘtre nĂ©cessaire de rediriger lâentrĂ©e depuis /dev/null pour que cela fonctionne).
SSH_ASKPASS_REQUIRE
Permet un contrĂŽle plus fin de lâutilisation dâun programme de demande de mot de passe. Si cette variable est dĂ©finie à « never », ssh nâessaiera jamais dâen utiliser un. Si elle est dĂ©finie à « prefer », ssh prĂ©fĂ©rera lâutilisation du programme de demande de mot de passe Ă celle du TTY si un mot de passe est requis. Enfin, si elle est dĂ©finie à « force », le programme de demande de mot de passe sera utilisĂ© pour toute saisie de phrase de passe, et cela que la variable DISPLAY soit dĂ©finie ou non.
SSH_AUTH_SOCK
Identifie le chemin du socket de domaine UNIX utilisĂ© pour communiquer avec lâagent.
SSH_CONNECTION
Identifie les deux bouts de la connexion (le client et le serveur). La variable contient quatre valeurs sĂ©parĂ©es par des espaces : lâadresse IP du client, le numĂ©ro de port du client, lâadresse IP du serveur et le numĂ©ro de port du serveur.
SSH_ORIGINAL_COMMAND
Cette variable contient la ligne de commande originelle si une commande forcĂ©e est exĂ©cutĂ©e. On peut lâutiliser pour extraire les arguments originels.
SSH_TTY
DĂ©finie au nom du terminal tty (chemin du fichier de pĂ©riphĂ©rique) associĂ© Ă lâinterprĂ©teur de commande ou Ă la commande en cours. Si la session en cours nâa pas de terminal, la variable nâest pas dĂ©finie.
SSH_TUNNEL
Ăventuellement dĂ©finie par sshd (8) pour contenir les noms dâinterface assignĂ©s si le client a demandĂ© une redirection de tunnel.
SSH_USER_AUTH
Ăventuellement dĂ©finie par sshd (8), cette variable peut contenir le chemin dâun fichier qui contient la liste des mĂ©thodes dâauthentification qui ont Ă©tĂ© utilisĂ©es avec succĂšs lors de lâĂ©tablissement de la connexion, ainsi que toute clĂ© publique qui a Ă©tĂ© utilisĂ©e.
TZ
Cette variable indique le fuseau horaire actuel si elle Ă©tait dĂ©finie au dĂ©marrage du dĂ©mon. (câest-Ă -dire que le dĂ©mon transmet la valeur aux nouvelles connexions).
USER
DĂ©finie au nom de lâutilisateur qui se connecte.
En outre, ssh lit le fichier Ë/.ssh/environment et ajoute des lignes au format « NOM_VAR=valeur » Ă lâenvironnement, si le fichier existe, et si les utilisateurs sont autorisĂ©s Ă modifier leur environnement. Pour plus dâinformations, voir lâoption PermitUserEnvironment dans sshd_config (5).
FICHIERS
Ë/.rhosts
Ce fichier est utilisĂ© dans le cadre de lâauthentification basĂ©e sur la machine (voir plus haut). Sur certaines machines, ce fichier devra Ă©ventuellement ĂȘtre lisible par tout le monde si le rĂ©pertoire personnel de lâutilisateur est sur une partition NFS, car sshd (8) le lit en tant que superutilisateur. En outre, ce fichier doit ĂȘtre la propriĂ©tĂ© de lâutilisateur et ne doit ĂȘtre accessible en Ă©criture pour personne dâautre. Les permissions recommandĂ©es sur la plupart des machines sont lecture/Ă©criture pour lâutilisateur et aucun accĂšs pour les autres.
Ë/.shosts
Ce fichier est utilisĂ© exactement de la mĂȘme façon que .rhosts , mais il permet lâauthentification basĂ©e sur la machine sans autoriser les connexions avec rlogin/rsh .
Ë/.ssh/
Ce rĂ©pertoire correspond Ă lâemplacement par dĂ©faut de toutes les informations de configuration et dâauthentification spĂ©cifiques Ă lâutilisateur. Il nâest globalement pas nĂ©cessaire de garder secret lâensemble du contenu de ce rĂ©pertoire, mais les permissions recommandĂ©es sont lecture/Ă©criture/exĂ©cution pour lâutilisateur et aucun accĂšs pour les autres.
Ë/.ssh/authorized_keys
Ce fichier Ă©numĂšre les clĂ©s publiques (ECDSA, Ed25519, RSA) qui peuvent ĂȘtre utilisĂ©es pour se connecter sous lâidentitĂ© de cet utilisateur. Le format de ce fichier est dĂ©crit dans la page de manuel de sshd (8). Le contenu de ce fichier nâest pas hautement sensible, mais les permissions recommandĂ©es sont lecture/Ă©criture pour lâutilisateur et aucun accĂšs pour les autres.
Ë/.ssh/config
Câest le fichier de configuration spĂ©cifique Ă lâutilisateur. Le format du fichier et les options de configuration sont dĂ©crits dans ssh_config (5). Comme il y a risque dâintrusion, ce fichier doit avoir des permissions strictes : lecture/Ă©criture pour lâutilisateur et pas dâaccĂšs en Ă©criture pour les autres. Il peut ĂȘtre accessible en Ă©criture pour le groupe si ce dernier ne contient que lâutilisateur.
Ë/.ssh/environment
Ce fichier contient des dĂ©finitions de variables dâenvironnement additionnelles ; voir âENVIRONNEMENTâ ci-dessus.
Ë/.ssh/id_ecdsa
Ë/.ssh/id_ecdsa_sk
Ë/.ssh/id_ed25519
Ë/.ssh/id_ed25519_sk
Ë/.ssh/id_rsa
Ces fichiers contiennent la clĂ© privĂ©e pour lâauthentification. Ils contiennent des donnĂ©es sensibles et doivent ĂȘtre lisibles par lâutilisateur mais inaccessibles pour les autres (lecture/Ă©criture/exĂ©cution). ssh ignorera tout simplement un fichier de clĂ© privĂ©e sâil est accessible pour les autres. Il est possible de spĂ©cifier une phrase de passe lors de la gĂ©nĂ©ration de la clĂ© qui sera utilisĂ©e pour chiffrer la partie sensible de ces fichiers en utilisant AES-128.
Ë/.ssh/id_ecdsa.pub
Ë/.ssh/id_ecdsa_sk.pub
Ë/.ssh/id_ed25519.pub
Ë/.ssh/id_ed25519_sk.pub
Ë/.ssh/id_rsa.pub
Ces fichiers contiennent la clĂ© publique pour lâauthentification. Ils ne contiennent pas de donnĂ©es sensibles et peuvent (mais cela nâest pas nĂ©cessaire) ĂȘtre lisibles par tout le monde.
Ë/.ssh/known_hosts
Ce fichier contient une liste des clĂ©s dâhĂŽte pour toutes les machines auxquelles lâutilisateur sâest connectĂ© et qui ne sont pas dĂ©jĂ prĂ©sentes dans la liste des clĂ©s dâhĂŽte connues de tout le systĂšme. Voir sshd (8) pour plus de dĂ©tails Ă propos du format de ce fichier.
Ë/.ssh/rc
Les commandes que contient ce fichier sont exĂ©cutĂ©es par ssh lorsque lâutilisateur se connecte, juste avant le lancement de lâinterprĂ©teur de commande (ou la commande) de lâutilisateur. Voir la page de manuel de sshd (8) pour plus dâinformations.
/etc/hosts.equiv
Ce fichier est utilisĂ© dans le cadre de lâauthentification basĂ©e sur la machine (voir plus haut). Il ne doit ĂȘtre accessible en Ă©criture que pour le superutilisateur.
/etc/ssh/shosts.equiv
Ce fichier est utilisĂ© exactement de la mĂȘme maniĂšre que hosts.equiv , mais il permet lâauthentification basĂ©e sur la machine sans autoriser les connexions avec rlogin/rsh .
/etc/ssh/ssh_config
Câest le fichier de configuration global du systĂšme. Le format du fichier et les options de configuration sont dĂ©crits dans ssh_config (5).
/etc/ssh/ssh_host_ecdsa_key
/etc/ssh/ssh_host_ed25519_key
/etc/ssh/ssh_host_rsa_key
Ces fichiers contiennent les parties privĂ©es des clĂ©s dâhĂŽte et sont utilisĂ©s dans le cadre de lâauthentification basĂ©e sur la machine.
/etc/ssh/ssh_known_hosts
Ce fichier contient la liste des clĂ©s dâhĂŽte connues globale Ă tout le systĂšme. Il doit ĂȘtre prĂ©parĂ© par lâadministrateur systĂšme de façon Ă contenir les clĂ©s dâhĂŽte publiques de toutes les machines de lâorganisation. Il doit ĂȘtre accessible pour tout le monde. Voir sshd (8) pour plus de dĂ©tails Ă propos du format de ce fichier.
/etc/ssh/sshrc
Les commandes que contient ce fichier sont exĂ©cutĂ©es par ssh lorsque lâutilisateur se connecte, juste avant le lancement de lâinterprĂ©teur de commande (ou la commande) de lâutilisateur. Voir la page de manuel de sshd (8) pour plus dâinformations.
CODE DE RETOUR
ssh quitte avec le code de retour de la commande distante ou 255 si une erreur est survenue
VOIR AUSSI
scp (1), sftp (1), ssh-add (1), ssh-agent (1), ssh-argv0 (1), ssh-keygen (1), ssh-keyscan (1), tun (4), ssh_config (5), ssh-keysign (8), sshd (8)
STANDARDS
S. Lehtinen et C. Lonvick
,
The Secure Shell (SSH) Protocol Assigned Numbers
,
RFC 4250 ,
janvier 2006 .
T. Ylonen et C. Lonvick
,
The Secure Shell (SSH) Protocol Architecture
,
RFC 4251 ,
janvier 2006 .
T. Ylonen et C. Lonvick
,
The Secure Shell (SSH) Authentication Protocol
,
RFC 4252 ,
janvier 2006 .
T. Ylonen et C. Lonvick
,
The Secure Shell (SSH) Transport Layer Protocol
,
RFC 4253 ,
janvier 2006 .
T. Ylonen et C. Lonvick
,
The Secure Shell (SSH) Connection Protocol
,
RFC 4254 ,
janvier 2006 .
J. Schlyter et W. Griffin
,
Using DNS to Securely Publish Secure Shell (SSH) Key
Fingerprints
,
RFC 4255 ,
janvier 2006 .
F. Cusack et M. Forssen
,
Generic Message Exchange Authentication for the
Secure Shell Protocol (SSH)
,
RFC 4256 ,
janvier 2006 .
J. Galbraith et P. Remaker
,
The Secure Shell (SSH) Session Channel Break
Extension
,
RFC 4335 ,
janvier 2006 .
M. Bellare, T. Kohno et C. Namprempre
,
The Secure Shell (SSH) Transport Layer Encryption
Modes
,
RFC 4344 ,
janvier 2006 .
B. Harris
,
Improved Arcfour Modes for the Secure Shell (SSH)
Transport Layer Protocol
,
RFC 4345 ,
janvier 2006 .
M. Friedl, N. Provos et W. Simpson
,
Diffie-Hellman Group Exchange for the Secure Shell
(SSH) Transport Layer Protocol
,
RFC 4419 ,
mars 2006 .
J. Galbraith et R. Thayer
,
The Secure Shell (SSH) Public Key File Format
,
RFC 4716 ,
novembre 2006 .
D. Stebila et J. Green
,
Elliptic Curve Algorithm Integration in the Secure
Shell Transport Layer
,
RFC 5656 ,
décembre 2009 .
A. Perrig et D. Song
,
Hash Visualization: a New Technique to improve
Real-World Security
,
1999 ,
International Workshop on Cryptographic Techniques and
E-Commerce (CrypTEC â99) .
AUTEURS
OpenSSH est un dérivé de la version originale et libre 1.2.12 de ssh par Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt et Dug Song ont corrigé de nombreux bogues, rajouté de nouvelles fonctionnalités et créé OpenSSH. Markus Friedl a contribué à la prise en charge des versions 1.5 et 2.0 du protocole SSH.
TRADUCTION
La traduction française de cette page de manuel a Ă©tĂ© créée par Laurent Gautrot <l dot gautrot at free dot fr>, Ăric Piel <eric.piel@tremplin-utc.net> et Lucien Gentis <lucien.gentis@waika9.com>
Cette traduction est une documentation libre ; veuillez vous reporter Ă la GNU General Public License version 3 : https://www.gnu.org/licenses/gpl-3.0.html concernant les conditions de copie et de distribution. Il nây a aucune RESPONSABILITĂ LĂGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org . Debian 4 décembre, 2024 SSH (1)