Установка openssh-server
позволит вам получить безопасный доступ ко всему диску через Интернет или с устройств в вашем доме, если они поддерживают sFTP. Если по какой-либо причине это не так, акция Samba может дополнить это, как подробно описано в другом ответе. Вот как я это сделал:
Установите сервер OpenSSH :apt-get install openssh-server
Откройте порт 22 : я использую несколько способов сделать это gufw
(возможно, вам придется установить его, я не уверен, по умолчанию ли он). Если вы хотите открыть его в Интернете на более позднем этапе, вам нужно будет перенаправить порт 22 на сервер с вашего маршрутизатора. Обычно вы можете сделать это через веб-интерфейс на маршрутизаторе. Если вы можете, назначьте серверу статический ip тоже там (т.е. отключите DHCP для сервера).
Отредактируйте настройки конфигурации ssh : создайте резервную копию и откройте файл /etc/ssh/sshd_config
и измените / добавьте настройки
PermitRootLogin no
AllowUsers guarav_java other_user_if_necessary
Для максимальной безопасности вы можете настроить вход на основе ключей, как описано здесь https://help.ubuntu.com/community/SSH/OpenSSH/Keys , но этого будет достаточно, если вы просто установите действительно надежный пароль и сохраните его в каждая клиентская машина.
Вы можете создать пользователя для каждого подключающегося. Если вы сделаете это, вы можете добавить их всех в одну группу (скажем, ssh_users) и разрешить всем в этой группе подключаться с помощью AllowGroups ssh_users
. (Для получения дополнительной информации см. Http://knowledgelayer.softlayer.com/learning/how-do-i-permit-specific-users-ssh-access )
Проверьте правильность настроек : вы можете проверить, не допустили ли вы синтаксическую ошибку в файле конфигурации, с помощьюsshd –t
Подключиться с сервера к себе : на этом этапе вы сможете подключиться к машине с самого себя через терминал ssh localhost
(при условии, что у вас уже есть openssh-client
). Затем попробуйте с другой машины в вашей сети ssh <ip-address>
.
Если IP-адрес сервера является статическим в вашей домашней сети, вы можете добавить запись /etc/hosts
на компьютер с Ubuntu, подключив к нему линию
server_ip_address theserver
Это будет означать, что вы можете просто подключиться ssh theserver
, или как вы это называете. Вы можете сделать то же самое для Windows (см. Здесь: http://helpdeskgeek.com/windows-7/windows-7-hosts-file/ )
Подключение через sFTP : Если вы можете подключиться к серверу с другого компьютера в вашей домашней сети через терминал, вы можете подключиться к нему через sFTP и безопасно просматривать и передавать файлы. Лично я настроил сочетание клавиш, чтобы я мог подключать / отключать сервер с помощью команд клавиатуры (в Ubuntu):
gvfs-mount sftp://user@ipaddress
gvfs-mount -u sftp://user@ipaddress
( -u
Флаг является командой umount)
Поместите их в поле «Command:» Системных настроек> Клавиатура> Сочетания клавиш> Пользовательские сочетания клавиш> + (Новый ярлык), присвойте ему имя, нажмите «Применить», затем щелкните по правому столбцу и введите комбинацию клавиш ( CTRL+SHFT++
и CTRL+SHFT+-
соответственно кажутся логичными) ,
Вы можете заменить IP-адрес на то, что в /etc/hosts
. Это смонтирует сервер как диск в Nautilus, и вы сможете просматривать папки точно так же, как и на вашем локальном компьютере. В Windows вы можете подключиться с помощью программного обеспечения FTP (Filezilla и т. Д.). Я не пробовал, но уверен, что, возможно, интеграция sFTP в самом проводнике Windows тоже.
Еще одно преимущество входа с использованием ключа на этом этапе заключается в том, что при каждом подключении вам не предлагается вводить пароль (если только вы не настроили его для защиты ключа). Возможно, вам захочется разобраться с этим после того, как вы получите работу с паролями (и перед тем, как открыть его снаружи).
Подключение извне : последний шаг - посмотреть, сможете ли вы подключиться через Интернет, то есть по соседству или что-то еще. Если у вас нет статического IP-адреса для вашего дома, это может быть сложно поспевать за тем, каков ваш IP-адрес. Я лично использую динамический DNS-сервис ( http://afraid.org/ - бесплатный), но вы можете найти другое решение лучше. Затем вы должны заменить ipaddress в приведенных выше командах монтирования на динамический веб-адрес, который указывает на вашу домашнюю сеть.
Последний совет по безопасности: следите за своим журналом SSH, если вы хотите использовать это ( /var/log/auth.log
), просто чтобы убедиться, что ничего плохого не происходит. Если вы обнаружите, что это так, Fail2Ban является одним из решений ( http://www.fail2ban.org/wiki/index.php/Main_Page и https://help.ubuntu.com/community/Fail2ban ). Чтобы минимизировать риск, вы можете изменить порт, который прослушивает SSHD, на что-то нестандартное, например 500, и изменить соответствующие правила переадресации портов на маршрутизаторе и брандмауэре сервера (почему: /server/189282 / why-change-default-ssh-port ), хотя я лично не проверял это с gvfs-mount
.