BSA SSH und Ansible Einstieg eingefügt

Michael Schaar 2023-09-26 22:45:11 +02:00
parent 2a9051c3de
commit b0bfc1d2cf
5 changed files with 261 additions and 83 deletions

@ -31,6 +31,12 @@ hinzu.
* [LXC Einstieg](lxc_einstieg) * [LXC Einstieg](lxc_einstieg)
* [LXC erstes Beispiel](lxc_erstes_beispiel)
* [SSH Einrichten](ssh_einrichten)
* [SSH-Agent](ssh_agent_einstieg)
## Kapitel AIS ## Kapitel AIS
* [LXC Einstieg](lxc_einstieg) * [LXC Einstieg](lxc_einstieg)
@ -39,4 +45,4 @@ hinzu.
* [Ansible Einstieg](ansible_einstieg) * [Ansible Einstieg](ansible_einstieg)
* [LXC erstes Beispiel und Ansible](lxc_erstes_beispiel_ansible)

@ -45,85 +45,4 @@ dig @10.0.3.1 foo
sudo lxc-ls -f sudo lxc-ls -f
``` ```
Ansible mit Inventory-Datei Weiter mit [SSH einrichten](ssh_einrichten)
```bash
ansible --version
cd ~/ansible_lxc_bsa2/
vi inventory
cat inventory
```
```
[lokal]
localhost ansible_connection=local
```
```bash
ansible --inventory inventory -m ping
ansible -i inventory -m ping lokal
```
```bash
sudo lxc-ls --fancy
vi inventory
cat inventory
```
```
[lokal]
localhost ansible_connection=local
[notme]
10.0.3.110
10.0.3.55
```
```bash
ansible -i inventory -m ping notme
vi inventory
cat inventory
```
```
[lokal]
localhost ansible_connection=local
[notme]
10.0.3.110 ansible_user=ubuntu
10.0.3.55 ansible_user=ubuntu
```
```bash
ansible -i inventory -m ping notme
vi inventory
cat inventory
```
```
[lokal]
localhost ansible_connection=local
[notme]
10.0.3.110 ansible_user=ubuntu ansible_password=ubuntu
10.0.3.55 ansible_user=ubuntu ansible_password=ubuntu
```
```bash
ansible -i inventory -m ping notme
ansible -i inventory -m ping all
```
```bash
vi ansible.cfg
cat ansible.cfg
```
```
[defaults]
inventory = ./inventory
```
```bash
ansible -m ping all
ansible --version
```
```
ansible [core 2.12.4]
config file = /home/vagrant/ansible_lxc_bsa2/ansible.cfg
...
```

@ -0,0 +1,129 @@
## Verwendete Kommandos
Erstellen der LXC-Maschine foo
```bash
sudo lxc-create --name foo --template ubuntu
sudo lxc-start --name foo
sudo lxc-ls
sudo lxc-ls --help
sudo lxc-ls --fancy
```
```
NAME STATE AUTOSTART GROUPS IPV4 IPV6 UNPRIVILEGED
foo RUNNING 0 - 10.0.3.110 - false
```
Mit der IP kann man sich via ssh einlogen:
```
ssh ubuntu@10.0.3.110 # Mit exit wieder zurück auf rdf-dev
sudo lxc-create --name baa --template ubuntu
sudo lxc-start --name baa
sudo lxc-ls --fancy
```
```
NAME STATE AUTOSTART GROUPS IPV4 IPV6 UNPRIVILEGED
baa RUNNING 0 - 10.0.3.55 - false
foo RUNNING 0 - 10.0.3.110 - false
```
```bash
nmap 10.0.3.0/24
whatis nmap
```
```
nmap (1) - Netzwerk-Analysewerkzeug und Sicherheits-/Portscanner
```
```bash
ssh ubuntu@10.0.3.110 # Mit exit zurück
dig @10.0.3.1 foo
ping -c 4 10.0.3.110
ping -c 4 10.0.3.55
dig @10.0.3.1 foo
sudo lxc-ls -f
```
Ansible mit Inventory-Datei
```bash
ansible --version
cd ~/ansible_lxc_bsa2/
vi inventory
cat inventory
```
```
[lokal]
localhost ansible_connection=local
```
```bash
ansible --inventory inventory -m ping
ansible -i inventory -m ping lokal
```
```bash
sudo lxc-ls --fancy
vi inventory
cat inventory
```
```
[lokal]
localhost ansible_connection=local
[notme]
10.0.3.110
10.0.3.55
```
```bash
ansible -i inventory -m ping notme
vi inventory
cat inventory
```
```
[lokal]
localhost ansible_connection=local
[notme]
10.0.3.110 ansible_user=ubuntu
10.0.3.55 ansible_user=ubuntu
```
```bash
ansible -i inventory -m ping notme
vi inventory
cat inventory
```
```
[lokal]
localhost ansible_connection=local
[notme]
10.0.3.110 ansible_user=ubuntu ansible_password=ubuntu
10.0.3.55 ansible_user=ubuntu ansible_password=ubuntu
```
```bash
ansible -i inventory -m ping notme
ansible -i inventory -m ping all
```
```bash
vi ansible.cfg
cat ansible.cfg
```
```
[defaults]
inventory = ./inventory
```
```bash
ansible -m ping all
ansible --version
```
```
ansible [core 2.12.4]
config file = /home/vagrant/ansible_lxc_bsa2/ansible.cfg
...
```

16
ssh_agent_einstieg.md Normal file

@ -0,0 +1,16 @@
# Start mit der Subshell-Methode
Mit der Subshell-Methode bekommen Sie implizit eine neue Arbeitsshell. Die Vorgehensweise ist wie folgt:
```
ssh-agent bash
ssh-add
Enter passphrase for key '/home/account/.ssh/id_rsa': ________
Identity added: /home/user1/.ssh/id_rsa (/home/user1/.ssh/id_rsa)
[... Arbeit mit ssh, slogin, scp, sftp, ...]
```
Agent beenden:
```bash
exit
```

108
ssh_einrichten.md Normal file

@ -0,0 +1,108 @@
# SSH einrichten
* Voraussetzung sind die Maschinen foo und baa von [hier](lxc_einstieg).
Um SSH als Client zu verwenden, um von einer Maschine (z. B. "foo") auf eine andere (z. B. "baa") zuzugreifen, sind einige grundlegende Schritte erforderlich:
### /etc/hosts Einträge
```
...
10.0.3.110 foo
10.0.3.55 baa
...
```
__Die IP Adressen entsprechend anpassen.__
1. **SSH-Client überprüfen:** Stellen Sie sicher, dass der SSH-Client auf der Maschine "rdf-dev" (Vagrantmaschine) installiert ist. In den meisten Linux-Distributionen ist OpenSSH standardmäßig installiert.
```bash
apt policy openssh-client
openssh-client:
Installiert: 1:8.2p1-4ubuntu0.9
...
```
2. **SSH-Server auf "baa" überprüfen:** Stellen Sie sicher, dass der SSH-Server auf der Maschine "baa" aktiv ist und läuft. In den meisten Linux-Distributionen ist auch der SSH-Server (OpenSSH) standardmäßig installiert und aktiviert.
```bash
nmap --script ssh2-enum-algos -sV -p 22 foo
Starting Nmap 7.80 ( https://nmap.org ) at 2023-09-26 22:22 CEST
Nmap scan report for foo (10.0.3.110)
Host is up (0.00014s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.9 (Ubuntu Linux; protocol 2.0)
| ssh2-enum-algos:
| kex_algorithms: (9)
| curve25519-sha256
| curve25519-sha256@libssh.org
| ecdh-sha2-nistp256
| ecdh-sha2-nistp384
| ecdh-sha2-nistp521
| diffie-hellman-group-exchange-sha256
| diffie-hellman-group16-sha512
| diffie-hellman-group18-sha512
| diffie-hellman-group14-sha256
| server_host_key_algorithms: (5)
| rsa-sha2-512
| rsa-sha2-256
| ssh-rsa
| ecdsa-sha2-nistp256
| ssh-ed25519
| encryption_algorithms: (6)
| chacha20-poly1305@openssh.com
| aes128-ctr
| aes192-ctr
| aes256-ctr
| aes128-gcm@openssh.com
| aes256-gcm@openssh.com
| mac_algorithms: (10)
| umac-64-etm@openssh.com
| umac-128-etm@openssh.com
| hmac-sha2-256-etm@openssh.com
| hmac-sha2-512-etm@openssh.com
| hmac-sha1-etm@openssh.com
| umac-64@openssh.com
| umac-128@openssh.com
| hmac-sha2-256
| hmac-sha2-512
| hmac-sha1
| compression_algorithms: (2)
| none
|_ zlib@openssh.com
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 0.78 seconds
```
3. **SSH-Schlüsselpaar erstellen (optional):** Um die Sicherheit zu verbessern und sicheres Passwortloses Anmelden zu ermöglichen, können Sie ein SSH-Schlüsselpaar auf der Maschine "foo" erstellen:
```bash
ssh-keygen -t rsa
```
Dieser Befehl generiert ein Schlüsselpaar (öffentlicher und privater Schlüssel) in Ihrem Heimatverzeichnis. Sie können die Standardeinstellungen akzeptieren oder anpassen.
4. **Öffentlichen Schlüssel auf "baa" hinzufügen (falls Schlüsselpaar erstellt wurde):** Wenn Sie ein Schlüsselpaar erstellt haben, müssen Sie den öffentlichen Schlüssel auf "baa" hinzufügen, damit Sie sich ohne Passwort anmelden können. Kopieren Sie den Inhalt der Datei ~/.ssh/id_rsa.pub (oder die entsprechende Datei, die Sie erstellt haben) auf "rdf-dev" und fügen Sie ihn in die ~/.ssh/authorized_keys-Datei auf "baa" ein:
```bash
ssh-copy-id user@baa
```
Wobei "user" Ihr Benutzername auf "baa" ist.
5. **SSH-Verbindung herstellen:** Jetzt können Sie eine SSH-Verbindung von "rdf-dev" zu "baa" herstellen:
```bash
ssh user@baa
```
Ersetzen Sie "user" durch Ihren Benutzernamen auf "baa" und "baa" durch die tatsächliche IP-Adresse oder den Hostnamen von "baa".
6. **Passwort eingeben (falls nicht passwortlos):** Wenn Sie kein Schlüsselpaar erstellt oder nicht hinzugefügt haben, werden Sie nach Ihrem Passwort für den Benutzer auf "baa" gefragt.
Sobald Sie diese Schritte befolgt haben, können Sie SSH verwenden, um eine sichere Verbindung zwischen den beiden Maschinen herzustellen. Beachten Sie, dass dies eine grundlegende Anleitung ist, und je nach den spezifischen Konfigurationen Ihrer Maschinen und Ihres Netzwerks weitere Schritte erforderlich sein könnten.