Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédenteDernière révisionLes deux révisions suivantes | ||
net:git [2020/05/24 14:34] – [Mise en place] david | net:git [2022/05/31 20:18] – [Redirection ssh] david | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | <note important> | ||
- | en cours d' | ||
- | </ | ||
- | |||
- | |||
< | < | ||
====== Donner accès à vos dépôt git ====== | ====== Donner accès à vos dépôt git ====== | ||
- | C'est la norme aujourd' | + | C' |
- | De base, git s' | + | De base, [[https://git-scm.com/ |
</ | </ | ||
Vous devez vous préparer à fournir les [[https:// | Vous devez vous préparer à fournir les [[https:// | ||
- | - '' | + | - [[https:// |
- | - '' | + | - [[https:// |
===== Mise en place ===== | ===== Mise en place ===== | ||
Ligne 20: | Ligne 16: | ||
Préparez une [[jails: | Préparez une [[jails: | ||
- | Installez [[https:// | + | Installez [[https:// |
Cnfigurez le tout pour recevoir vos dépôts dans ''/ | Cnfigurez le tout pour recevoir vos dépôts dans ''/ | ||
Ligne 39: | Ligne 35: | ||
</ | </ | ||
- | La dernière ligne, qui donne des droits d' | + | La dernière ligne, qui donne des droits d' |
=== Accéder aux dépôts === | === Accéder aux dépôts === | ||
Ligne 49: | Ligne 45: | ||
</ | </ | ||
- | Redirigez le port '' | + | Redirigez le port '' |
- | <file / | + | < |
rdr pass on $ext_if proto tcp from any to ($ext_if) port 9418 -> $jail_git port 9418 | rdr pass on $ext_if proto tcp from any to ($ext_if) port 9418 -> $jail_git port 9418 | ||
rdr pass on $ext_if inet6 proto tcp from any to ($ext_if) port 9418 -> $jail_git port 9418 | rdr pass on $ext_if inet6 proto tcp from any to ($ext_if) port 9418 -> $jail_git port 9418 | ||
Ligne 57: | Ligne 53: | ||
====== Serveur web ====== | ====== Serveur web ====== | ||
- | '' | + | '' |
Il peut être utilisé directement sous Apache, mais nécessite le port [[https:// | Il peut être utilisé directement sous Apache, mais nécessite le port [[https:// | ||
Ligne 135: | Ligne 131: | ||
===== Utilisateur à distance ===== | ===== Utilisateur à distance ===== | ||
+ | |||
+ | Jusqu' | ||
+ | |||
+ | <code bash> | ||
+ | david@loin: | ||
+ | Clonage dans ' | ||
+ | remote: Enumerating objects: 68, done. | ||
+ | remote: Counting objects: 100% (68/68), done. | ||
+ | remote: Compressing objects: 100% (29/29), done. | ||
+ | remote: Total 68 (delta 37), reused 68 (delta 37), pack-reused 0 | ||
+ | Réception d' | ||
+ | Résolution des deltas: 100% (37/37), fait. | ||
+ | </ | ||
+ | |||
+ | Vous pouvez bien sûr autoriser n' | ||
+ | \\ Mais la plupart du temps, vous voudrez restreindre les modifications sur vos dépôts à quelques personnes triées sur le volet. | ||
+ | Le seul protocole pris en charge par **git**, qui vous permette de faire cela simplement est ssh(1). | ||
La première difficulté est la question des droits d' | La première difficulté est la question des droits d' | ||
Ligne 144: | Ligne 157: | ||
root@git:/ | root@git:/ | ||
$ ln -s / | $ ln -s / | ||
+ | $ exit | ||
+ | root@git:/ | ||
</ | </ | ||
- | Et d' | + | Ou, faites en sorte que ce soit l'utilisateur qui créé le dépôt. |
+ | Aussi, | ||
<code bash> | <code bash> | ||
root@git:/ | root@git:/ | ||
</ | </ | ||
- | Le seul protocole qui permettent un accès sécurisé aux utilisateurs est ssh(1).Attribuez les [[: | + | Attribuez les [[: |
Ligne 162: | Ligne 179: | ||
root@popeye:/ | root@popeye:/ | ||
sshd_enable: | sshd_enable: | ||
+ | root@popeye:/ | ||
+ | sshd_flags: | ||
root@popeye:/ | root@popeye:/ | ||
</ | </ | ||
+ | |||
+ | <callout type=" | ||
Maintenant, il faut connecter l' | Maintenant, il faut connecter l' | ||
Ligne 169: | Ligne 190: | ||
Ici, le port 9022 est attribué par pf(4) pour cela: | Ici, le port 9022 est attribué par pf(4) pour cela: | ||
- | <file / | + | < |
# allow jail_git to connect to internet | # allow jail_git to connect to internet | ||
- | nat on $ext_if inet6 from $jail_git to any -> ($ext_if) | + | nat on $ext_if inet6 from $jail_git to any -> ($ext_if):0 |
# | # | ||
rdr pass on $ext_if proto tcp from any to ($ext_if) port 9022 -> jail_git port 22 | rdr pass on $ext_if proto tcp from any to ($ext_if) port 9022 -> jail_git port 22 | ||
Ligne 181: | Ligne 202: | ||
Du coté du client, adaptez votre configuration ssh à la connexion git: | Du coté du client, adaptez votre configuration ssh à la connexion git: | ||
- | <file .ssh/ | + | < |
Host git.popeye.lapinbilly.eu | Host git.popeye.lapinbilly.eu | ||
HostName popeye.lapinbilly.eu | HostName popeye.lapinbilly.eu | ||
Ligne 192: | Ligne 213: | ||
<code bash> | <code bash> | ||
- | david]loin: | + | david@loin: |
Clonage dans ' | Clonage dans ' | ||
Enter passphrase for key '/ | Enter passphrase for key '/ |