« FAQ:SSH RSA1 » : différence entre les versions
Aller à la navigation
Aller à la recherche
Aucun résumé des modifications |
|||
| Ligne 1 : | Ligne 1 : | ||
<span style="color: red"></span> | |||
==Explications== | ==Explications== | ||
Si vous utilisez un Linux "récent" pour le point central, vous risquez d'avoir des problèmes de clés ssh pour vous connecter à des OS plus anciens.<br> | Si vous utilisez un Linux "récent" pour le point central, vous risquez d'avoir des problèmes de clés ssh pour vous connecter à des OS plus anciens.<br> | ||
Cela vient du fait que ssh ne supporte plus les clés de type RSA1.<br> | Cela vient du fait que ssh ne supporte plus les clés de type RSA1.<br> | ||
Exemple de cas : | Exemple de cas : | ||
< | <pre lang="sh" line> | ||
ssh oracle@myoraclehost | ssh oracle@myoraclehost | ||
</ | </pre> | ||
<pre> | <pre> | ||
Pseudo-terminal will not be allocated because stdin is not a terminal. | Pseudo-terminal will not be allocated because stdin is not a terminal. | ||
| Ligne 22 : | Ligne 25 : | ||
===~/.ssh/openssl.cnf)=== | ===~/.ssh/openssl.cnf)=== | ||
On accepte les signatures sha1 dans la conf ssl. | On accepte les signatures sha1 dans la conf ssl. | ||
< | <pre lang="sh" line> | ||
cat << EOFCAT >> ~/.ssh/openssl.cnf | cat << EOFCAT >> ~/.ssh/openssl.cnf | ||
.include /etc/ssl/openssl.cnf | .include /etc/ssl/openssl.cnf | ||
| Ligne 30 : | Ligne 33 : | ||
rh-allow-sha1-signatures = yes | rh-allow-sha1-signatures = yes | ||
EOFCAT | EOFCAT | ||
</ | </pre> | ||
===OPENSSL_CONF=== | ===OPENSSL_CONF=== | ||
Variable d'environnement pour la conf ssl surchargée. | Variable d'environnement pour la conf ssl surchargée. | ||
< | <pre lang="sh" line> | ||
cat << EOFCAT >> ~/.bashrc | cat << EOFCAT >> ~/.bashrc | ||
export OPENSSL_CONF=~/.ssh/openssl.cnf | export OPENSSL_CONF=~/.ssh/openssl.cnf | ||
EOFCAT | EOFCAT | ||
</ | </pre> | ||
===~/.ssh/config=== | ===~/.ssh/config=== | ||
Mettez les noms de vos hosts à la place de "myoraclehost" ... | Mettez les noms de vos hosts à la place de <span style="color: red">"myoraclehost"</span> ... | ||
< | <pre lang="sh" line> | ||
cat << EOFCAT >> ~/.ssh/config | cat << EOFCAT >> ~/.ssh/config | ||
# CentOS release 5 + RedHat release 5 + CentOS release 6 + RedHat release 6 | # CentOS release 5 + RedHat release 5 + CentOS release 6 + RedHat release 6 | ||
Host myoraclehost | Host <span style="color: red">myoraclehost</span> | ||
KexAlgorithms +diffie-hellman-group14-sha1 | KexAlgorithms +diffie-hellman-group14-sha1 | ||
MACs +hmac-sha1 | MACs +hmac-sha1 | ||
| Ligne 52 : | Ligne 55 : | ||
PubkeyAcceptedAlgorithms +ssh-rsa | PubkeyAcceptedAlgorithms +ssh-rsa | ||
EOFCAT | EOFCAT | ||
</ | </pre> | ||
Version du 5 octobre 2025 à 17:30
Explications
Si vous utilisez un Linux "récent" pour le point central, vous risquez d'avoir des problèmes de clés ssh pour vous connecter à des OS plus anciens.
Cela vient du fait que ssh ne supporte plus les clés de type RSA1.
Exemple de cas :
ssh oracle@myoraclehost
Pseudo-terminal will not be allocated because stdin is not a terminal. Unable to negotiate with 10.201.666.130 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: unexplained error (code 255) at io.c(228) [sender=3.2.3] Fail to 'rsync -aHv --delete -e "ssh -o BatchMode=yes -o StrictHostKeyChecking=no" /home/dbsqware/dbSQWare/SQWareProduction/oracle oracle@myoraclehost:~/SQWareProduction/.' !
Configuration
3 étapes :
- Préparation d'un fichier de surcharge ssl (~/.ssh/openssl.cnf)
- Ajout d'une variable d'environnement pour pointer vers ce fichier (OPENSSL_CONF)
- Ajout des surchrges pour certains hosts (~/.ssh/config)
~/.ssh/openssl.cnf)
On accepte les signatures sha1 dans la conf ssl.
cat << EOFCAT >> ~/.ssh/openssl.cnf
.include /etc/ssl/openssl.cnf
[openssl_init]
alg_section = evp_properties
[evp_properties]
rh-allow-sha1-signatures = yes
EOFCAT
OPENSSL_CONF
Variable d'environnement pour la conf ssl surchargée.
cat << EOFCAT >> ~/.bashrc
export OPENSSL_CONF=~/.ssh/openssl.cnf
EOFCAT
~/.ssh/config
Mettez les noms de vos hosts à la place de "myoraclehost" ...
cat << EOFCAT >> ~/.ssh/config
# CentOS release 5 + RedHat release 5 + CentOS release 6 + RedHat release 6
Host <span style="color: red">myoraclehost</span>
KexAlgorithms +diffie-hellman-group14-sha1
MACs +hmac-sha1
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
EOFCAT