OVH Cloud OVH Cloud

impossible d'accéder à mon desktop en ssh

19 réponses
Avatar
Franck Delage
--YiEDa0DAkWCtVeE4
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Salut =E0 la liste.

Je voudrais pouvoir acc=E9der =E0 ma machine en ssh lorsque je suis =E0
l'ext=E9rieur.

Or =E0 chaque fois que j'essaye, j'ai le message "connection refused" avec
Connectbot sur mon t=E9l=E9phone Andro=EFd ou "connection timed out" lorsque
je le fais de mon serveur.

Voici ma config r=E9seau :

J'ai une connection internet bidirectionnelle par satellite (Sat2Way). Cett=
e connection
arrive dans mon routeur Linksys, que j'ai bien s=FBr configur=E9 pour qu'il
route son port 22 sur le port 22 de ma machine. Le pare-feu sur ce
routeur est d=E9sactiv=E9.

J'ai une adresse DynDNS qui pointe sur mon ip dynamique et c'est avec
celle-ci que j'essaye de me connecter. De toutes fa=E7ons quand j'essaye
avec l'ip actuelle, le r=E9sultat est le m=EAme.

Petite pr=E9cision dont j'ignore si elle est utile : le signal satellite
redescend sur Turin, aussi mon ip est-elle italienne.

Merci beaucoup de votre aide, je s=E8che !

Franck.

-----------

Voici les donn=E9es :

Je suis sous Lenny/Squeeze.

Ma config Iptables est des plus simples :

----------------------------------

$iptables -L

Chain INPUT (policy ACCEPT)
target prot opt source destination =20

Chain FORWARD (policy ACCEPT)
target prot opt source destination =20

Chain OUTPUT (policy ACCEPT)
target prot opt source destination =20

Chain INBOUND (0 references)
target prot opt source destination =20

Chain LOG_FILTER (0 references)
target prot opt source destination =20

Chain LSI (0 references)
target prot opt source destination =20

Chain LSO (0 references)
target prot opt source destination =20

Chain OUTBOUND (0 references)
target prot opt source destination =20

------------------------------

Mon sshd_config :

-----------------------------------------------------------------

# Package generated configuration file
# See the sshd(8) manpage for details

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 600
PermitRootLogin yes
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile %h/.ssh/authorized_keys

# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthenticati=
on
#IgnoreUserKnownHosts yes

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords
# PasswordAuthentication yes

# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no

ClientAliveInterval 60

#MaxStartups 10:30:60
Banner /etc/issue.linuxlogo

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server

UsePAM yes

---------------------------------------------------

--=20
Franck Delage
Cr=E9ation et h=E9bergements de sites web
www.web82.net

--YiEDa0DAkWCtVeE4
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkuQ1lAACgkQXLHx8YKDYqFwvACdHrYUnBwktuiKgV3ERNcNGZg8
g2UAoMTbWPe9MVE0saole8Rp4Pqyyw/3
=i/ki
-----END PGP SIGNATURE-----

--YiEDa0DAkWCtVeE4--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/20100305100049.GA23278@debianfixe

9 réponses

1 2
Avatar
Julien
Le vendredi 05 mars 2010 à 16:11 +0100, Jean-Yves F. Barbier a écrit :

steve a écrit :

> Vi bien sûr...



emacs n'est pas plus performant ?

et pour les tentatives, monter le délai entre logins raté à 10-15 secondes
suffit en Gal pour décourager l'adversaire :)



Intéressant ! mais je n'ai pas trouvé l'option correspondante dans le
manuel de sshd_config. Je n'ai trouvé que 'LoginGraceTime' mais qui ne
fait pas ça (désolé pour l'anglais) :

LoginGraceTime
The server disconnects after this time if the user has not
successfully logged in. If the value is 0, there is no time limit. The
default is 120 seconds.

Je serais heureux de connaître cette option !

>>> ¹ à moins que tu aies de bonnes raisons de le faire, mais je ne vois pas
>>> trop lesquelles.
>> faire un backup complet du système à distance par exemple.



Dans mon cas, mes comptes utilisateurs sont stocké en LDAP, je préfère
donc conserver une connexion possible en root (qui n'est pas stocké en
LDAP mais dans /etc/passwd) dans le cas où le serveur LDAP n'est plus
accessible. Que me conseillez vous ? créer un compte dédié genre
"administratrice" pour la connexion ssh et faire ensuite un su ? du coup
ça me fait un mot de passe supplémentaire ce qui n'améliore pas la
sécurité (petite perche du vendredi).

Julien


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
steve
Le 05-03-2010, à 15:45:04 +0100, Jean-Yves F. Barbier () a écrit :

steve a écrit :

> Je ne sais pas pour ton problème, mais
>> Mon sshd_config :
>> PermitRootLogin yes
>
> ça ce n'est pas « bien »¹. Mets à non et fais un su quand tu en as
> besoin.

Awai, mais si un type possède des connaissances et les utilise pour cracker
SSH ou faire une MiM dans les règles, ne crois-tu pas qu'il aura *aussi*
les connaissances voulues pour l'aider à cracker le compte root...

> ¹ à moins que tu aies de bonnes raisons de le faire, mais je ne vois pas
> trop lesquelles.

faire un backup complet du système à distance par exemple.



Je viens de découvrir que cette option possède une valeur dédiée à ce
genre d'opérations. De « man sshd_config » :

If this option is set to “forced-commands-only”, root login with public
key authentication will be allowed, but only if the command option has
been specified (which may be useful for taking remote backups even if
root login is normally not allowed). All other authentication methods
are disabled for root.


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Nicolas KOWALSKI
"Jean-Yves F. Barbier" writes:

steve a écrit :

Je ne sais pas pour ton problème, mais
Mon sshd_config :
PermitRootLogin yes



ça ce n'est pas « bien »¹. Mets à non et fais un su quand tu en as
besoin.



Awai, mais si un type possède des connaissances et les utilise pour cracker
SSH ou faire une MiM dans les règles, ne crois-tu pas qu'il aura *aussi*
les connaissances voulues pour l'aider à cracker le compte root...

¹ à moins que tu aies de bonnes raisons de le faire, mais je ne vois pas
trop lesquelles.



faire un backup complet du système à distance par exemple.



+1

Avoir "PermitRootLogin without-password" permet de se connecter en
root, mais seulement avec une clé rsa. C'est ben pratique ma foi.
En fait, j'ai désactivé complètement l'accès par mot de passe sur ma
machine depuis deux ans, et ça ne cause pas plus de problèmes que ça.

--
Nicolas

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Julien
Le vendredi 05 mars 2010 à 17:32 +0100, steve a écrit :

Je viens de découvrir que cette option possède une valeur dédiée à ce
genre d'opérations. De « man sshd_config » :

If this option is set to “forced-commands-only”, root login with public
key authentication will be allowed, but only if the command option has
been specified (which may be useful for taking remote backups even if
root login is normally not allowed). All other authentication methods
are disabled for root.



Est-ce que la commande peut être bash ?
Les tests chez moi ne sont pas très concluant ou je n'ai rien compris :

- Je change /etc/ssh/sshd_config :

"PermitRootLogin yes" vers "PermitRootLogin forced-commands-only"

- Je redémarre ssh
- "ssh " me demande un mot de passe, le login ne fonctionne
pas (normal !)
- "ssh pwd" idem demande de mot de passe, le login ne passe
pas (pas normal je dirais!)

auth.log me dit :
ROOT LOGIN REFUSED FROM 192.168.xx.xx

Est-ce qu'il faut rajouté les commandes autorisée
dans .ssh/authorized_keys par exemple ?

J'ai testé sur une lenny à jour avec la config suivantes :

UsePrivilegeSeparation yes
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
PermitEmptyPasswords no
UsePAM yes

Julien


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Jean-Yves F. Barbier
Julien a écrit :

et pour les tentatives, monter le délai entre logins raté à 10-15 secondes
suffit en Gal pour décourager l'adversaire :)



Intéressant ! mais je n'ai pas trouvé l'option correspondante dans le
manuel de sshd_config. Je n'ai trouvé que 'LoginGraceTime' mais qui ne
fait pas ça (désolé pour l'anglais) :



je n'ai pas dis que c'était dans la conf de SSH...

LoginGraceTime
The server disconnects after this time if the user has not
successfully logged in. If the value is 0, there is no time limit. The
default is 120 seconds.



Et ça, c'est juste pour ceux qui tapent leur password de 150 cars avec 2
doigts, pas pour les générateurs de passwords ;-P

Je serais heureux de connaître cette option !



dans /etc/inetd.conf:
ssh stream tcp nowait/3/4/2 root /usr/sbin/sshd sshd -i
pour:
3 connexions SSH simultanées max à la machine
4 tentatives de connexion/minute (soit une toutes les 15 sec)
2 Max de connexions possibles à partir d'une seule IP

¹ à moins que tu aies de bonnes raisons de le faire, mais je ne vois pas
trop lesquelles.


faire un backup complet du système à distance par exemple.







Dans mon cas, mes comptes utilisateurs sont stocké en LDAP, je préfère
donc conserver une connexion possible en root (qui n'est pas stocké en
LDAP mais dans /etc/passwd) dans le cas où le serveur LDAP n'est plus
accessible. Que me conseillez vous ? créer un compte dédié genre
"administratrice" pour la connexion ssh et faire ensuite un su ? du coup
ça me fait un mot de passe supplémentaire ce qui n'améliore pas la
sécurité (petite perche du vendredi).



laisser les choses en l'état et choisir un password assez long (>32 cars) et
compliqué, et le changer une fois par trimestre et plus s'il-y-a bcp d'attaques.

--
<Crow-> who gives a shit about US law
<jim> anyone living in the US.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Julien
Le vendredi 05 mars 2010 à 17:40 +0100, Jean-Yves F. Barbier a écrit :
Julien a écrit :

>> et pour les tentatives, monter le délai entre logins raté à 10-15 secondes
>> suffit en Gal pour décourager l'adversaire :)
>
> Intéressant ! mais je n'ai pas trouvé l'option correspondante dans le
> manuel de sshd_config. Je n'ai trouvé que 'LoginGraceTime' mais qui ne
> fait pas ça (désolé pour l'anglais) :

je n'ai pas dis que c'était dans la conf de SSH...

> LoginGraceTime
> The server disconnects after this time if the user has not
> successfully logged in. If the value is 0, there is no time limit. The
> default is 120 seconds.

Et ça, c'est juste pour ceux qui tapent leur password de 150 cars avec 2
doigts, pas pour les générateurs de passwords ;-P

> Je serais heureux de connaître cette option !

dans /etc/inetd.conf:
ssh stream tcp nowait/3/4/2 root /usr/sbin/sshd sshd -i
pour:
3 connexions SSH simultanées max à la machine
4 tentatives de connexion/minute (soit une toutes les 15 sec)
2 Max de connexions possibles à partir d'une seule IP



Merci beaucoup !

Julien

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
steve
Le 05-03-2010, à 17:48:26 +0100, Julien () a écrit :

Le vendredi 05 mars 2010 à 17:32 +0100, steve a écrit :

> Je viens de découvrir que cette option possède une valeur dédiée à ce
> genre d'opérations. De « man sshd_config » :
>
> If this option is set to “forced-commands-only”, root login with public
> key authentication will be allowed, but only if the command option has
> been specified (which may be useful for taking remote backups even if
> root login is normally not allowed). All other authentication methods
> are disabled for root.

Est-ce que la commande peut être bash ?
Les tests chez moi ne sont pas très concluant ou je n'ai rien compris :

- Je change /etc/ssh/sshd_config :

"PermitRootLogin yes" vers "PermitRootLogin forced-commands-only"

- Je redémarre ssh
- "ssh " me demande un mot de passe, le login ne fonctionne
pas (normal !)
- "ssh pwd" idem demande de mot de passe, le login ne passe
pas (pas normal je dirais!)

auth.log me dit :
ROOT LOGIN REFUSED FROM 192.168.xx.xx

Est-ce qu'il faut rajouté les commandes autorisée
dans .ssh/authorized_keys par exemple ?



D'après man sshd, oui :

The options (if present) consist of comma-separated option
specifications. No spaces are permitted, except within double quotes.
The following option specifications are supported (note that option
keywords are case-insensitive):

command="command" Specifies that the command is executed whenever
this key is used for authentication. The command supplied by the user
(if any) is ignored. The command is run on a pty if the client requests
a pty; otherwise it is run without a tty. If an 8-bit clean channel is
required, one must not request a pty or should specify no-pty. A quote
may be included in the command by quoting it with a backslash. This
option might be useful to restrict certain public keys to perform just a
specific operation. An example might be a key that permits remote
backups but nothing else. Note that the client may specify TCP and/or
X11 forwarding unless they are explicitly prohibited. The command
originally supplied by the client is available in the
SSH_ORIGINAL_COMMAND environment variable. Note that this option
applies to shell, command or subsystem execution.


Tiens-mous au courant.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
steve
> Est-ce qu'il faut rajouté les commandes autorisée
> dans .ssh/authorized_keys par exemple ?

D'après man sshd, oui :

The options (if present) consist of comma-separated option
specifications. No spaces are permitted, except within double quotes.
The following option specifications are supported (note that option
keywords are case-insensitive):

command="command" Specifies that the command is executed whenever
this key is used for authentication. The command supplied by the user
(if any) is ignored. The command is run on a pty if the client requests
a pty; otherwise it is run without a tty. If an 8-bit clean channel is
required, one must not request a pty or should specify no-pty. A quote
may be included in the command by quoting it with a backslash. This
option might be useful to restrict certain public keys to perform just a
specific operation. An example might be a key that permits remote
backups but nothing else. Note that the client may specify TCP and/or
X11 forwarding unless they are explicitly prohibited. The command
originally supplied by the client is available in the
SSH_ORIGINAL_COMMAND environment variable. Note that this option
applies to shell, command or subsystem execution.



Pour préciser, il faut quelque chose du genre :

from="10.1.1.5",command="/usr/bin/ls" <public keydata>

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Franck Delage
--JSkcQAAxhB1h8DcT
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

pascatgm a écrit :
| Et que donne (s'il est possible de l'obtenir avec ConnectBot) un ssh -vv ?

J'ai essayé de mon serveur chez OVH (auquel je suis connecté en ssh !)

# ssh -vv
OpenSSH_5.1p1 Debian-5, OpenSSL 0.9.8g 19 Oct 2007
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to web82.homelinux.org [95.210.19.215] port 22.
debug1: connect to address 95.210.19.215 port 22: Connection timed out
ssh: connect to host web82.homelinux.org port 22: Connection timed out

| Pas de modif du fichier /etc/hosts.allow ?

Je n'ai jamais touché ce fichier, et le voici :

sendmail: all
# /etc/hosts.allow: list of hosts that are allowed to access the system.
# See the manual pages hosts_access(5), hosts_options(5)
# and /usr/doc/netbase/portmapper.txt.gz
#
# Example: ALL: LOCAL @some_netgroup
# ALL: .foobar.edu EXCEPT terminalserver.foobar.edu
#
# If you're going to protect the portmapper use the name "portmap" for the
# daemon name. Remember that you can only use the keyword "ALL" and IP
# addresses (NOT host or domain names) for the portmapper, as well as for
# rpc.mountd (the NFS mount daemon). See portmap(8), rpc.mountd(8) and
# /usr/share/doc/portmap/portmapper.txt.gz for further information.
#
portmap: 192.168.1.102 , 192.168.1.103
lockd: 192.168.1.102 , 192.168.1.103
rquotad: 192.168.1.102 , 192.168.1.103
mountd: 192.168.1.102 , 192.168.1.103
statd: 192.168.1.102 , 192.168.1.103
sshd: all

Merci !

--
Franck Delage
Création et hébergements de sites web
www.web82.net

--JSkcQAAxhB1h8DcT
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkuRRN4ACgkQXLHx8YKDYqEmIQCaAlfMZN27kSU0I3GnEB9kgyaM
IE4Anjwlk4HmpNviI+JuH5+GIwMcalwj
=npOa
-----END PGP SIGNATURE-----

--JSkcQAAxhB1h8DcT--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
1 2