3 liens privés
Specify a custom private key :
Add a specific configuration for your host in ssh config
Host myname.gitlab.com
Hostname gitlab.com
IdentityFile /home/myuser/.ssh/keys.d/id_rsa_git
IdentitiesOnly yes
Test SSH :
ssh -Tvvv git@myname.gitlab.com
Git command :
git clone git@myname.gitlab.com:yourrepo.git
Connecter SSH & Active directory
To read
Dans /etc/ssh/sshd_config
X11Forwarding yes
X11UseLocalhost no
Ensuite :
sudo systemctl restart sshd
sudo yum/apt install xauth
Sur le client :
ssh -X user@server
Pour une configuration avec bastion + proxy :
# bastion
Host my-bastion
Hostname 1.2.3.4
User ec2-user
IdentityFile ~/.ssh/mykey.pem
#LogLevel DEBUG3
ProxyCommand corkscrew my-http-proxy 3128 %h %p ~/.ssh/auth
#~/.ssh/auth pour l'authentification HTTP si besoin
Host my-instance
Hostname 1.2.3.5
User ec2-user
IdentityFile ~/.ssh/my-key2.pem
#LogLevel DEBUG3
ProxyJump my-bastion
ForwardX11 yes
Pour avoir un tunnel inverse ouvert sur toutes les ip :
ssh -R *:8080:localhost:80 -N root@example.com
et
GatewayPorts yes dans le sshd_config
SSH reste bloqué lorsqu'un processus distant est démarré en arrière
-plan. La raison est que le processus hérite des flux stdin/stdout/stderr du shell d'origine et que openSSH ne ferme pas la connexion tant qu'un flux est ouvert.
java -jar batch.jar < /dev/null &> logs.txt &
ou
nohup java -jar batch.jar < /dev/null &
ne pas demande l'acceptation de la nouvelle clé
ssh -o StrictHostKeyChecking=no use@host
ssh -X -Y user@host
-X : pour autoriser le XForwarding
-Y : pour supprimer le ForwardX11Timeout
ssh -f user>@<machinerebond -R <portCibleLocal>:<hostcible>:<portSourceHost> -N
-f : background
-N : pas d'instructions envoyées
Création d'un tunnel "permanent" sans exécution de commande (Reverse) :
ssh -R 8080:M1:7000 user@M1
Permet à M1 de se connecter au PC sur le port 8080
ssh host@name "B=3; echo $A; echo \$B;"
Pense bête, installer une clé partagée
client :
(umask 077 && test -d ~/.ssh || mkdir ~/.ssh)
(umask 077 && touch ~/.ssh/authorized_keys)
ssh-keygen -t 'rsa' -f ~/.ssh/id_rsa<domaine>
ssh-copy-id -i ~/.ssh/id_rsa.pub user@ip_machine
# or edit the file .ssh/authorized_keys using your preferred editor. Copy and paste your id_rsa.pub file into the file.
.ssh/config (pour un équivalent à ssh -p 22 -i ~/.ssh/.id_rsa client@10.42.0.1) :
Host serveur
HostName 10.42.0.1
User client
Port 22
IdentityFile ~/.ssh/id_rsa
Et :
chmod 600 ~/.ssh/*
serveur :
sshd.config :
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
Droits de l'utilisateur :
chmod g-w /home/your_user
chmod 700 /home/your_user/.ssh
chmod 600 /home/your_user/.ssh/authorized_keys
Pour tester :
# Sur le serveur si centOS
firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --reload
# Sur le serveur
/usr/sbin/sshd -d -p 2222
# sur le client
ssh -vvv -i ~/.ssh/id_rsa -p 2222 10.0.0.1
# firewall-cmd --permanent --remove-port=2222/tcp
open /home/<user>/.ssh/id_rsa failed: Permission denied.
chcon -R -t ssh_home_t ~/.ssh
ssh -f user>@<machinerebond -L <portRebondLocal>:<hostcible>:<portCible> -N
-f : background
-N : pas d'instructions envoyées
Création d'un tunnel "permanent" sans exécution de commande :
ssh -f mlx@foo.org -L 2038:M1:80 -N