informatique:logiciels:ssh
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| informatique:logiciels:ssh [2023/02/17 14:19] – [Connexion en arrière-plan] pteu | informatique:logiciels:ssh [2025/04/20 16:34] (current) – [SSH Authentication Refused: bad ownership] pteu | ||
|---|---|---|---|
| Line 209: | Line 209: | ||
| ===== Transfert de fichier avec SCP ===== | ===== Transfert de fichier avec SCP ===== | ||
| - | **Ssh CoPy** (SCP) est une commande qui permet de transférer des fichiers par une connexion SSH. | + | [[informatique:linux:commandes_linux# |
| - | Sous Windows il existe les programmes '' | + | |
| - | Sous Linux, il est possible d' | + | |
| - | Sous Mac j' | + | |
| - | + | ||
| - | La syntaxe est la suivante : | + | |
| - | scp fichier_local user@serveur.com:/ | + | |
| - | Il faut noter qu'un //path// relatif (sans le "/" | + | |
| - | + | ||
| - | exemple 1 : uploader // | + | |
| - | scp test.txt toto@serveur.com: | + | |
| - | + | ||
| - | exemple 2 : télécharger dans le répertoire courant (.) // | + | |
| - | scp toto@serveur.com: | + | |
| - | + | ||
| - | exemple 3 : uploader l' | + | |
| - | scp -r test toto@serveur.com: | + | |
| - | + | ||
| - | Les paramètres disponibles sont : | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | + | ||
| =====Tunnels SSH===== | =====Tunnels SSH===== | ||
| Line 348: | Line 326: | ||
| </ | </ | ||
| - | =====Lister les options du sshd===== | + | =====Lister les options du ssh===== |
| Pour lister les paramètres effectifs avec lesquels se lance le démon **sshd** (c'est utile notamment pour voir la valeur des paramètres non spécifiés dans le fichier de configuration ''/ | Pour lister les paramètres effectifs avec lesquels se lance le démon **sshd** (c'est utile notamment pour voir la valeur des paramètres non spécifiés dans le fichier de configuration ''/ | ||
| Line 355: | Line 333: | ||
| </ | </ | ||
| + | Côté client, on peut afficher les paramètres courants avec l' | ||
| + | <code bash> | ||
| + | ssh -G < | ||
| + | </ | ||
| =====Mode debug/ | =====Mode debug/ | ||
| Line 439: | Line 421: | ||
| =====Connexion SSH via webproxy===== | =====Connexion SSH via webproxy===== | ||
| - | Pour se connecter en SSH à travers un proxy web, disons " | + | Pour se connecter en SSH à travers un proxy web, disons " |
| <code bash ~/ | <code bash ~/ | ||
| Host ssh-server | Host ssh-server | ||
| Line 448: | Line 430: | ||
| Depuis Windows il est plus facile d' | Depuis Windows il est plus facile d' | ||
| + | |||
| + | <WRAP center round important 80%> | ||
| + | Certaines versions de netcat (nc) ne possèdent pas l' | ||
| + | C'est le cas sous CentOS/ | ||
| + | <code bash> | ||
| + | ProxyCommand nc --proxy-type http --proxy proxy.corp: | ||
| + | </ | ||
| + | </ | ||
| + | |||
| =====Connexion SSH par rebond===== | =====Connexion SSH par rebond===== | ||
| Line 607: | Line 598: | ||
| # (utilisation de la connexion...) puis fermeture : | # (utilisation de la connexion...) puis fermeture : | ||
| ssh -S < | ssh -S < | ||
| + | </ | ||
| + | |||
| + | source: [[https:// | ||
| + | |||
| + | |||
| + | =====Connexion forcée par mot de passe===== | ||
| + | |||
| + | Pour forcer l' | ||
| + | |||
| + | On peut l' | ||
| + | |||
| + | <code bash> | ||
| + | ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no < | ||
| + | </ | ||
| + | |||
| + | Ces options peuvent se positionner dans le fichier de conf : **~/ | ||
| + | |||
| + | =====Comment transmettre un quote en SSH===== | ||
| + | |||
| + | C'est toujours une galère en informatique pour utiliser les caractères interprétés, | ||
| + | |||
| + | Pour transmettre une apostrophe (ou simple quote en anglais) dans une commande SSH, on ne peut pas juste l' | ||
| + | <code bash> | ||
| + | ssh serveur ls / | ||
| + | |||
| + | bash: -c: ligne 1: fin de fichier (EOF) prématurée lors de la recherche du « ' | ||
| + | </ | ||
| + | |||
| + | Il faut utiliser : | ||
| + | * soit un triple backslash (on " | ||
| + | * un [[https:// | ||
| + | <code bash> | ||
| + | ssh serveur <<END | ||
| + | ls / | ||
| + | END | ||
| + | |||
| + | / | ||
| + | </ | ||
| + | |||
| + | =====Notification sur Signal d'un login SSH===== | ||
| + | |||
| + | Pour recevoir une notification lorsqu' | ||
| + | * une ligne de configuration dans **pam.d** pour catcher l' | ||
| + | * un script générant le message de notification et l' | ||
| + | * un conteneur docker : [[https:// | ||
| + | Ce dernier nécessite l’appairage avec un compte Signal existant. | ||
| + | |||
| + | NB : j'ai rencontré des erreurs avec la version **signal-cli-rest-api: | ||
| + | <code yaml docker-compose.yml> | ||
| + | version: " | ||
| + | services: | ||
| + | signal-cli-rest-api: | ||
| + | # image: bbernhard/ | ||
| + | image: bbernhard/ | ||
| + | container_name: | ||
| + | networks: | ||
| + | - br-sig | ||
| + | environment: | ||
| + | - MODE=native #supported modes: json-rpc, native, normal (by speed order) | ||
| + | ports: | ||
| + | - " | ||
| + | volumes: | ||
| + | - " | ||
| + | |||
| + | networks: | ||
| + | br-sig: | ||
| + | external: true | ||
| + | </ | ||
| + | |||
| + | Ce script basique : | ||
| + | <code bash / | ||
| + | #!/bin/sh | ||
| + | # envoyer une notif signal lors d'un login | ||
| + | NUMBER=" | ||
| + | URL=http:// | ||
| + | MESSAGE=" | ||
| + | |||
| + | if [ " | ||
| + | curl -X POST -H " | ||
| + | -d " | ||
| + | fi | ||
| + | </ | ||
| + | |||
| + | Et ce " | ||
| + | <code bash / | ||
| + | session optional pam_exec.so seteuid / | ||
| + | </ | ||
| + | |||
| + | =====SSH Keepalive===== | ||
| + | |||
| + | Afin d' | ||
| + | |||
| + | Cela peut se configurer côté client, dans le fichier **~/ | ||
| + | <code bash ~/ | ||
| + | Host serveur-ssh | ||
| + | | ||
| + | | ||
| + | </ | ||
| + | |||
| + | Comme d'hab les paramètres peuvent aussi se définir au moment de la commande SSH avec l' | ||
| + | <code bash> | ||
| + | ssh -o ServerAliveInterval=300 -o ServerAliveCountMax=2 serveur-ssh | ||
| + | </ | ||
| + | |||
| + | Côté serveur, cela se définit dans le fichier **/ | ||
| + | <code bash / | ||
| + | ClientAliveInterval 300 | ||
| + | ClientAliveCountMax 2 | ||
| + | </ | ||
| + | |||
| + | =====SSH Authentication Refused: bad ownership===== | ||
| + | |||
| + | <code bash> | ||
| + | sshd [xxxxx] Authentication refused: bad ownership or modes for directory /home/user | ||
| + | </ | ||
| + | |||
| + | Ce message apparait dans les logs lorsque les dossiers ou fichiers SSH de l' | ||
| + | <code bash> | ||
| + | cd | ||
| + | chmod go-w ~ | ||
| + | chmod 700 ~/.ssh | ||
| + | chmod 600 ~/ | ||
| </ | </ | ||
informatique/logiciels/ssh.1676643568.txt.gz · Last modified: 2023/02/17 14:19 by pteu