Настройка SSH сервера
1. Через пакетный менеджер Synaptic установите пакет ы openssh-server и openssh-clients.
2. В конфигурационном файле сервера /etc/ssh/sshd_config измените следующие переменные:
#для того, чтобы злоумышленник не смог подбирать пароли, спрячем от него SSH-сервер, указав нестандартный порт (желательно указывать номер >1024, не забудьте изменить порт в своем SSH-клиенте)
#Port 22
Port 2200
# проверим, чтобы была указана вторая, более защищенная версия, протокола SSH
#Protocol 2,1
Protocol 2
# запретим авторизацию пользователя root (теперь злоумышленнику прийдется подбирать не только пароль, но и логин, что намного сложнее; чтобы получить доступ с правами суперпользователя, необходимо сначала зайти на сервер под обычной учетной записью, а затем выполнить команду "su -" и ввести пароль пользователя root)
#PermitRootLogin yes
PermitRootLogin no
# разрешим серверу запускать удалённо графические приложения и отправлять их на клиентскую машину
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
3. В конфигурационном файле клиента /etc/ssh/ssh_config измените следующие переменные:
# сделаем так, чтобы клиентская машина смогла запускать удалённо графические приложения на сервере
ForwardX11 yes
ForwardX11Trusted yes
Теперь мы сможем заходить на машину не только в консольном режиме, но и с запуском иксовых приложений.
4. Запустите SSH сервер:
- service ssh start - запуск ssh-сервера.
- service ssh stop - остановка ssh-сервера.
- service ssh restart - перезапуск ssh-сервера.
Если не запустится командой service, запускайте через следующие скрипты:
- /etc/init.d/ssh start
- /etc/init.d/ssh stop
- /etc/init.d/ssh restart
5. На стороне клиента открываем консоль и пишем (-p - порт; -l -логин пользователя, под которым вы зайдете на сервер удаленно; 192.168.0.1 - адрес нашего сервера):
ssh -p 2200 -l user 192.168.0.1
После этого вас спросят: "Данный IP ещё не опознан как доверительный, стоит ему доверять?" Пишем yes.
Далее вводим пароль пользователя удалённой машины, под которым мы заходим и попадаем в консоль удалённой машины. Теперь, в окошке терминала, который на нашей машине, мы управляем компьютером, к которому подключились.
Чтобы запустить графическое приложение удалённо, в удаленной консоли наберите имя программы и поставьте после имени знак &. Например,
gimp &
Это запустит на удалённой машине GiMP в фоне и вернёт вам консоль для дальнейших действий. Если вы не поставите & после имени приложения, то управление в консоль будет возвращено только после завершения приложения.
Итак, у вас запустится графическое приложение точно так же, как если бы оно работало у вас. Есть одно но: это приложение будет работать на вашем экране, но с документами и настройками удалённой машины. Если файл для обработки находится в вашем домашнем каталоге, то его нужно будет передать на удалённую машину. Оно (и другие приложения, которые вы запустите) будет работать ровно до того момента, пока открыто ssh-соедиение.
Примечания
* Доступ по SSH может быть осуществлен не только из Linux или FreeBSD, но и из Windows - при помощи программы Putty и X-сервера Xming.
** Существует возможность получать удаленный доступ без ввода пароля, с помощью rsa-ключей. Делается это так:
Создадим ключ, шифрованный алгоритмом RSA, длиной в 2048 бита (системы шифрования на основе RSA считаются надёжными, если длина ключа не менее 1024 бит). Для полной безопасности ssh-keygen попросит ввести пароль. Нажмите Enter, оставив пароль пустым, иначе этот пароль придется каждый раз вводить (-b - длина ключа в битах, -t - файл, в которм сохраним ключ):
ssh-keygen -t rsa -b 1024 -f ~/.ssh/id_rsa
Далее скопируем наш публичный ключ на машину, куда будем заходить удаленно:
ssh-copy-id -i ~/.ssh/id_rsa.pub user 192.168.0.1
Возможно, при выполнении команды в последний раз придется ввести свой пароль на удаленную машину.
Все. Теперь пароль при подключении вводить больше не потребуется.