Вы хотите установить связь между локальной рабочей станцией и удаленным компьютером. Подключение должно быть защищенным; информация не должна стать доступной для злоумышленников (их не видно, но они существуют — даже если вы не страдаете паранойей). Итак, требуется настроить OpenSSH.
Установите OpenSSH на обоих компьютерах. Чтобы удаленный хост принимал подключения, на нем должен работать демон sshd. Скопируйте открытый ключ удаленного хоста в файл ~/.ssh/known_hosts на локальном компьютере — и можете приступать к работе.
Запуск sshd в системах на базе Debian осуществляется следующим образом:
# /etc/init.d/ssh start
# /etc/init.d/ssh stop
Всегда проверяйте имена файлов init, они могут изменяться в зависимости от дистрибутива. Копирование открытого ключа удаленного хоста в локальный файл ~/.ssh/know_hosts сводится к простой попытке подключения к удаленному хосту.
carla@windbag carla$ ssh stinkpad
The authenticity of host ‘stinkpad (192.168.1.100)’ can’t be established.
RSA key fingerprint is a2:c6:70:3e:73:00:b3:ed:90:bl:9a:bc:e7:d5:32:ba.
Are you sure you want to continue connecting (yes/no)?
Ответьте yes, и на экране появится сообщение:
Warning: Permanently added ‘stinkpad,192.168.1.100’ (RSA) to the l i s t of known hosts.
car1a@stinkpad’s password:
Linux stinkpad 2.4.21 #1 Sun Aug 3 20:15:59 PDT 2003 i686 GNU/Linux
Libranet GNU/Linux
Last Login: Sat June 3 22:16:24 2004 from :0.0
car1a@stinkpad:~$
Подключившись к удаленному компьютеру, вы сможете работать с ним точно так же, как если бы вы сидели за ним. Чтобы закрыть сеанс удаленного подключения, введите команду exit.
Простая команда ssh создает подключение к другому хосту локальной сети с использованием данных текущей учетной записи. Чтобы подключиться с данными другого пользователя, укажите параметр -I:
carla@windbag ~$ ssh -l wilmaf stinkpad
При подключении SSH по Интернету следует указывать полное доменное имя:
carla@windbag ~$ ssh stinkpad.test.net
Установление исходного подключения и копирование ключа RSA с хоста является самой рискованной частью создания SSH. Если злоумышленнику удастся вмешаться в работу сервера имен, он может перехватить сеанс SSH и похитить данные вашей учетной записи. Впрочем, риск относительно невелик, и перед первым подключением можно проверить IP-адрес удаленного хоста. Чтобы закрыть эту брешь в системе безопасности, заранее вручную скопируйте открытый ключ хоста в локальный файл ~/.ssh/known_hosts. При этом файл придется слегка подредактировать; далее приводятся примеры.
Ключи хостов хранятся в каталоге /etc/ssh и используются для проверки «личности» удаленного хоста. Для подключения пользователю потребуется только копия открытого ключа в его файле ~/.ssh/known_hosts и учетная запись, под которой осуществляется вход в систему. В некоторых дистрибутивах Linux при установке OpenSSH создаются две пары ключей, RSA и DSA:
$ ls /etc/ssh
ssh_host_dsa_key
ssh_host_dsa_key.pub
ssh_host_rsa_key
ssh_host_rsa_key.pub
Открытый ключ RSA выглядит примерно так:
$ cat ssh_host_rsa_key.pub
ssh-rsa
AAAAB3NzaClyc2EAAAABIwAAAIEA5pSqNmtqRzK2JaLr8qkIQ41nBDLI2JRJ6
gRBmwg9gwK3S8xXnMUHIsu8wh5Sloei8hs47x2I9cpNpxHfjlwQWwqP61Vyel
DfD+y+WIz0UgzUXN5IrqYZ70EdQ4Xn++J1lkmFG6L16KySb0700XonlC09rNx
isHL5GC0qil+qM= rootPwindbag
Сам ключ должен быть одной длинной, неразрывной строкой — он не должен содержать внутренних разрывов. Скопируйте его на съемный диск, перенесите в локальный файл ~/.ssh/known_hosts и измените следующим образом:
windbag.test.net,192.168.1.6 ssh-rsa
AAAAB3NzaClyc2EAAAABIwAMIEA5pSqNmtqRzK2JaLr8qkIQ41nBDLI2JRJ6g
RBmwg9gwK3S8xXnMUHIsu8wh5Sloei8hs47x2I9cpNpxHfjlwQWwqP61VyelD
fD+y+WIz0UgzUXN5IrqYZ70EdQ4Xn++J1lkmFG6Ll6KySb0700XonlC09rNxi
sHL5GC0qil+qM=
Имя хоста и IP-адрес добавляются в начало строки, а завершающее имя хоста удаляется. Открытые ключи доступны для всех, но закрытые ключи должны читаться толь-
ко владельцем ключа.