В этом упражнении вы будете входить в удаленную систему от имени разных пользователей и выполнять команды.
Результаты
Вы сможете:
войти в удаленную систему;
выполнять команды с помощью безопасной оболочки OpenSSH.
Войдите на workstation как пользователь student с паролем student.
workstation
student
На workstation запустите сценарий lab ssh-access start, чтобы начать упражнение. Этот сценарий обеспечивает правильную настройку среды.
[student@workstation ~]$ lab ssh-access start
[student@workstation ~]$
lab ssh-access start
На workstation установите SSH-подключение к servera как пользователь student.
servera
[student@workstation ~]$ ssh student@servera ...output omitted... [student@servera ~]$
ssh student@servera
[student@servera ~]$
Установите SSH-подключение к serverb как пользователь student. Примите ключ хоста. Укажите student в качестве пароля, когда будет предложено ввести пароль для пользователя student на serverb.
serverb
[student@servera ~]$ ssh student@serverb The authenticity of host 'serverb (172.25.250.11)' can't be established. ECDSA key fingerprint is SHA256:ERTdjooOIrIwVSZQnqD5or+JbXfidg0udb3DXBuHWzA. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'serverb,172.25.250.11' (ECDSA) to the list of known hosts. student@serverb's password: student ...output omitted... [student@serverb ~]$
ssh student@serverb
Are you sure you want to continue connecting (yes/no)?
yes
student@serverb's password:
[student@serverb ~]$
Ключ хоста записывается в файл /home/student/.ssh/known_hosts на servera для идентификации serverb, поскольку пользователь student запустил SSH-подключение с servera. Если файл /home/student/.ssh/known_hosts еще не существует, он будет создан с новой записью. Команда ssh не будет выполнена, если ключ удаленного хоста отличается от записанного ключа.
/home/student/.ssh/known_hosts
Выполните команду w, чтобы отобразить пользователей, вошедших в систему serverb.
[student@serverb ~]$ w 18:49:29 up 2:55, 1 user, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT student pts/0 172.25.250.10 18:33 0.00s 0.01s 0.00s w
w
172.25.250.10
Приведенный выше вывод показывает, что пользователь student вошел в систему с хоста с IP-адресом 172.25.250.10, а это servera в сети учебной аудитории.
IP-адрес системы идентифицирует ее в сети. Вы узнаете об IP-адресах в следующей главе.
Выйдите из командной оболочки пользователя student на serverb.
[student@serverb ~]$ exit logout Connection to serverb closed. [student@servera ~]$
exit
Установите SSH-подключение к serverb как пользователь root. Используйте redhat в качестве пароля пользователя root.
root
redhat
[student@servera ~]$ ssh root@serverb root@serverb's password: redhat ...output omitted... [root@serverb ~]#
ssh root@serverb
root@serverb's password:
[root@serverb ~]#
Обратите внимание, что предыдущая команда ssh не просила принять ключ хоста, поскольку он был найден среди известных хостов. Если идентификационные данные serverb изменятся, OpenSSH предложит проверить и принять новый ключ хоста.
[root@serverb ~]# w 19:10:28 up 3:16, 1 user, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 172.25.250.10 19:09 1.00s 0.01s 0.00s w
Приведенный выше вывод показывает, что пользователь root вошел в систему с хоста с IP-адресом 172.25.250.10, а это servera в сети учебной аудитории.
Выйдите из командной оболочки пользователя root на serverb.
[root@serverb ~]# exit logout Connection to serverb closed. [student@servera ~]$
Удалите файл /home/student/.ssh/known_hosts с servera. Это приведет к тому, что ssh потеряет записанные идентификационные данные удаленных систем.
[student@servera ~]$ rm /home/student/.ssh/known_hosts
rm /home/student/.ssh/known_hosts
Ключи хоста могут меняться по обоснованным причинам, например, если удаленный компьютер был заменен из-за аппаратного сбоя или удаленный компьютер был переустановлен. Обычно рекомендуется удалять только запись ключа определенного хоста в файле known_hosts. Поскольку этот конкретный файл known_hosts имеет только одну запись, вы можете удалить весь файл.
known_hosts
Установите SSH-подключение к serverb как пользователь student. При запросе примите ключ хоста. Укажите student в качестве пароля, когда будет предложено ввести пароль для пользователя student на serverb.
Обратите внимание, что команда ssh попросила вас подтвердить принятие или отклонение ключа хоста, поскольку не смогла найти ключ для удаленного хоста.
Выйдите из командной оболочки пользователя student на serverb и убедитесь, что новый экземпляр known_hosts существует на servera.
[student@serverb ~]$ exit logout Connection to serverb closed. [student@servera ~]$ ls -l /home/student/.ssh/known_hosts -rw-r--r--. 1 student student 183 Feb 1 20:26 /home/student/.ssh/known_hosts
ls -l /home/student/.ssh/known_hosts
Убедитесь, что в новом экземпляре файла known_hosts есть ключ хоста serverb.
[student@servera ~]$ cat /home/student/.ssh/known_hosts serverb,172.25.250.11 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBI9LEYEhwmU1rNqnbBPukH2Ba0/QBAu9WbS4m03B3MIhhXWKFFNa/UlNjY8NDpEM+hkJe/GmnkcEYMLbCfd9nMA=
cat /home/student/.ssh/known_hosts
Фактический вывод может отличаться.
Удаленно выполните команду hostname на serverb, не обращаясь к интерактивной оболочке.
[student@servera ~]$ ssh student@serverb hostname student@serverb's password: student serverb.lab.example.com
ssh student@serverb hostname
Предыдущая команда отображала полное имя хоста удаленной системы serverb.
Выйдите из командной оболочки пользователя student на servera.
[student@servera ~]$ exit logout Connection to servera closed.
Конец
На workstation запустите сценарий lab ssh-access finish, чтобы закончить упражнение.
[student@workstation ~]$ lab ssh-access finish
lab ssh-access finish
Упражнение завершено.