Меню

Настройка ssh на suse

Установка и настройка сервера SSH в Linux

Secure Shell, т. е. SSH – протокол, обеспечивающий защищённые соединения и передачу данных между двумя удалёнными компьютерами. Изначально создавался на замену таким системам как rlogin и rcp. Как понятно из полного названия протокола, система SSH позволяет соединяться и управлять удалённым узлом (компьютером, маршрутизатором и т. д.), при этом защищая весь передаваемый трафик с помощью высоконадёжного шифрования.
SSH широко применяется администраторами серверов для их настройки и управления, да и обычные продвинутые пользователи — владельцы, например, сайтов или виртуальных серверов активно используют SSH для подключения к своей учётной записи на хостинге и использования командной оболочки сервера.
Сразу после окончания разработки система SSH стала активно трансформироваться в закрытый коммерческий продукт в виде версии SSH2. Но благодаря сообществу GNU версии протокола SSH1 и SSH2 были реализованы в виде открытого и свободно распространяемого ПО openSSH. В Linux-системах используется именно этот метапакет.
Метапакет SSH базово включает в себя сервер SSH (sshd) в качестве програмы-демона, а также несколько утилит: ssh – удаленная регистрация и выполнение команд, scp – передача файлов и ssh-keygen – для генерации пар SSH-ключей.

Установка пакетов SSH

Как уже говорилось система ssh в Linux-системах распространяется в виде составного метапакета, поэтому для установки всех требуемых утилит ssh нужно выполнить всего одну команду:
В Ubuntu

После чего начнется процесс установки

Как видно, менеджер пакетов сам распознает все зависимые и связанные пакеты и установит их. Также, по завершению установки, автоматически будет запущен SSH-сервер в режиме демона. Это можно проверить командой:
$ systemctl status sshd
или:
$ service sshd status даст тот же вывод. Теперь сервер работает с базовыми настройками по-умолчанию.

Настройка SSH

Режим работы SSH-сервера с настройками по-умолчанию хоть и является вполне работоспособным для небольших частных сетей, всё же нуждается в задании некоторых важных параметров для использования на высоконадёжных публичных серверах. Настройки демона хранятся в файле /etc/ssh/sshd_config. Посмотреть его можно командой

В первую очередь следует обратить внимание на следующие параметры: Port, AddressFamily, ListenAddress. Первый глобально задаёт номер порта, через который будет работать соединение и если оставить его стандартным, т. е. 22, то велика вероятность, что он будет слишком часто сканироваться роботами.
Примечание: для задания активации параметра необходимо раскомментировать соответствующую строку — убрать символ «#» в её начале.
Второй параметр задаёт семейство используемых IP-адресов — IPv4 и IPv6. Если, к примеру, используются только адреса IPv4, то очень рекомендуется установить для параметра

Для адресов семейства IPv6 используется значение inet6.
Параметр ListenAddress позволяет задавать порты для отдельных сетевых интерфейсов:

Поскольку реализация openSSH позволяет работать с протоколами SSH1 и SSH2, то разумно отключить использование SSH1, т. к. эта версия является устаревшей. Работа по SSH1 крайне не рекомендуется: Protocol 2
Очень полезным является параметр, позволяющий проводить авторизацию и шифрование трафика с помощью специальных SSH-ключей:

Или же, в случае, если всё-таки необходимо использовать доступ по паролю, то обязательно нужно отключать авторизацию по пустому паролю:

Для указания разрешённых или запрещённых пользователей и групп служат директивы DenyUsers, AllowUsers, DenyGroups, и AllowGroups. Значениями для них являются списки имён, разделяемых пробелами, например:

Следует также отключать root-доступ:

Иногда, когда следует задавать мультисерверную конфигурацию, очень удобно использовать алиасы (Aliases), что позволяет настроить сразу несколько режимов доступа (с разными хостами, портами и т. д.) и использовать их, указывая при этом конкретный алиас:

Настройки для алиасов хранятся либо глобально в /etc/ssh/ssh_config, либо раздельно для пользователей в

/.ssh/config. Здесь нужно не спутать с ssh_config! Пример:

Для применения сделанных настроек необходим перезапуск SSH-сервера:

Настройка и использование клиента SSH
Для подключения по к серверу используется команда:

где user_name – имя пользователя в системе, host_name – имя узла, к которому производится подключение, например:

Утилита предложит выбрать расположение ключей (лучше всё оставить по-умолчанию), обычно это каталог

/.ssh/, ввести парольную фразу для закрытого ключа. После чего будут сгенерированы открытый ключ id_rsa.pub и закрытый — id_rsa. Теперь нужно скопировать открытый ключ, т. е. «слепок» закрытого на сервер. Проще всего этого можно добиться командой:

Теперь можно выполнить подключение командой ssh и запустить защищённый сеанс удалённого управления.
Важно заметить, что использование сгенерированных openSSH-ключей несовместимо с PPK-форматом, используемым по-умолчанию в таких комплексах как PuTTY. Поэтому необходимо конвертировать имеющиеся openSSH-ключи в формат PPK. Удобнее всего это делать с помощью утилиты PuTTY – puttygen.exe.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Настройка сети OpenSUSE

Сейчас в OpenSUSE, с окружением рабочего стола KDE поставляется программа NetworkManager. С помощью нее любой человек может настроить сеть в OpenSUSE. Даже новичок.

В этой статье будет рассмотрена настройка сети OpenSUSE. Мы рассмотрим как создать проводное соединение, настроить статический адрес, настройка pppoe opensuse, wifi, а также как раздать wifi в OpenSUSE.

Настройка проводного подключения

Кликните по апплету NetworkManager на панели:

Если апплета NetworkManager на панели нет, возможно, программа не запущена, ее можно запустить выполнив:

sudo systemctl start NetworkManager

Затем кликните по кнопке настроить сетевые подключения, чтобы открыть такое окно:

Здесь нажмите кнопку Добавить:

В открывшимся списке выберите Проводное Ethernet:

Дальше откроется окно мастера создания подключения. В первом поле необходимо выбрать ваш сетевой интерфейс, во втором можно указать свой физический MAC адрес для устройства:

Обычно MAC адрес трогать не нужно, этот параметр задается производителем и уникальный для каждого сетевого адаптера. Но некоторые хитрые провайдеры привязывают интернет-соединение к определенному MAC адресу, тогда его можно изменить в этом поле. Дальше перейдите на вкладку ipv4:

Здесь можно настроить способ получения ip адреса и DNS серверов. Если ip адрес получается автоматически по DHCP ничего делать не нужно, оставляем способ получения авто.

Читайте также:  Настройка времени bmw e53

Но если нужно использовать статический IP адрес поле способ устанавливаем вручную,а в появившимся списке с помощью кнопки добавить создаем ip адрес:

Затем осталось нажать ОК. И в главном окне появится новое соединение. Возможно, оно подключится автоматически, но если этого не произошло, вы можете воспользоваться кнопкой Подключить.

Если сетевой интерфейс eth0 не обнаружен или работает нестабильно, вам нужно установить проприетарные прошивки для оборудования. Все они содержатся в пакете linux-firmware.

Вы можете скачать его, скинуть на свой компьютер и установить с помощью команды:

Настройка pppoe соединения

Настройка pppoe OpenSUSE немного сложнее, чем обычное проводное соединение. Протокол pppoe позволяет передавать интернет данные через канал обычного городского телефона.

Здесь вам также само нужно открыть апплет сетевые подключения и в настройках сетевых подключений создать новое подключение. Только на этот раз типа DSL:

Сразу же откроется вкладка DSL, на которой нужно ввести данные для подключения и аутентификации. Все данные, служба, логин и пароль обычно указаны в вашем договоре на интернет с провайдером.

Параметры на вкладке ipv4 настраиваются как описано в предыдущем способе.

После завершения настройки достаточно нажать кнопку Ок и подключить соединение.

Настройка Wifi

Настройка Wifi OpenSUSE может вызвать кое-какие трудности. Если ваше оборудование полностью поддерживается ядром Linux то проблем быть не должно. Но дело в том, что драйвера работают далеко не со всеми Wifi адаптерами, а для некоторых поддержка неполная и нужно выбирать другие драйвера и устанавливать проприетарные прошивки.

Если у вас нет проблем с Wifi интерфейсом, то можете пропустить этот пункт. Чаще всего в современных бюджетных устройствах используются сетевые адаптеры от компании Broadcom с ними обычно больше всего проблем. Их и будем рассматривать. Рассмотрим на примере карточки b4313.

Подробнее о совместимости своей карты с тем или иным драйвером можно посмотреть на официальном сайте ядра. Например, для нашей карты мы видим что лучше всего совместимость с драйвером brcmsmac.

Поэтому добавляем b43 в черный список:

$ echo ‘blacklist b43’ >> /etc/modprobe.d/blacklist.conf

Затем загружаем brcmsmac:

sudo modprobe brcmsmac

Если интерфейс по-прежнему не определяется, вам необходимо установить проприетарную прошивку для модуля. Подробнее о том какую именно прошивку нужно вы узнаете из лога ядра dmesg. В нашем варианте нужна b43xx-firmware. Вы сможете без труда найти deb или rpm пакет на просторах интернета. После установки нужно перезагрузить систему.

Теперь настройка wifi OpenSUSE не вызовет проблем. Просто кликните по апплету NetworkManager, отметьте галочку Wifi если она еще не отмечена и выберите из списка нужную сеть.

Дальше останется только ввести пароль. Вообще говоря, для Wifi сети можно менять пароль настраивать статический ip адрес и DNS серверы. Все это делается точно так же само как для проводного подключения, только вместо кнопки Добавить выбираем в настройках соединение и нажимаем Изменить.

Точка доступа Wifi OpenSUSE

Если у вас ноутбук с проводным интернетом и wifi адаптером, то вы можете раздавать wifi на другие устройства, при условии, что драйвера поддерживают эту функцию.

Посмотреть поддерживается ли режим точки доступа можно командой:


Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* monitor

AP значит что режим точки доступа поддерживается. Теперь мы можем очень просто раздать wifi opensuse с помощью того же NetworkManager. Откройте настройки сетевых подключений, и нажмите кнопку добавить:

Здесь нужно выбрать беспроводное wifi (точка доступа)

Дальше переходим на вкладку защита wifi, выбираем способ шифрования WPA, как вы знаете WEP очень ненадежный, и вводим пароль.

Осталось нажать Ок и подключить соединение. При подключении этого соединения в отличие от остальных будет запрошен пароль для создания точки доступа.

Выводы

Источник

SDB:Configure openSSH

Tested on openSUSE

Contents

Assumptions

To work with this article basic Linux/OpenSUSE knowledge is needed, including:

And of course, you must have an up and running network. If you would like to set up connections from outside your LAN, you must be able to open the necessary port on your router.

Configuration Files

Both SSHD and SSH make use of configuration (config) files. These files can easily be edited by your favorite text editor. When you first look at the configuration files, you will notice that most options are commented out. (E.g. # Port) This means that they will be read as a “comment” and not actual settings.

If this is regarding variable settings, it means the defaults will be used. A nice thing is, the by default commented options are showing the default value, so you can get an idea what the connection is doing in its default settings. In order to modify an option, uncomment it (remove the # in front of the line) and change the value behind the option. Whenever you feel the new setting is not working for you, just place back the comment (#) and the default will be used again.

SSHD – The server

SSHD (Secure Shell Daemon) should be run on the server. (Remote host). The SSHD manages four tasks: incoming connections, authentication, rules and encryption.

The SSHD uses only one configuration file, which can be found in /etc/ssh/sshd_config. This file can be edited using your favorite editor as root. The configuration of the SSHD is quite general and only to build in limitations for the users that (try) to login. The actual connection parameters will be set from the client side.

When setting up the SSHD you must keep in mind what you think is safe or appropriate to allow. For instance: if you prohibit X forwarding in SSHD, setting up the client for X forwarding would be useless. So consider wisely the purpose of the SSH connection when setting up the SSHD.

Читайте также:  Настройка интернета билайн на смартфоне самсунг

SSH – The Client

SSH (Secure Shell) Is one of the client programs of the openSSH package. This program is used to login in to a remote shell or to directly run a remote command. In this article we will refer to the SSH configuration files, although they also apply to SFTP and SCP.

There are three ways to configure SSH. Al three ways have the same options wich will be passed as arguments to SSH.

When arguments are contradicting, the last given argument will be used. So command line arguments overrules both configuration files and the personal configuration overrules the system wide configuration file.

If you are running a system with multiple users, and these users again have their own preferences or use different remote hosts, a wise set up will be as follows:

Keep in mind that the SSH protocol is meant to be used over a insecure network between two untrusted hosts. This means security is not only the issue for the server side, both also on the client side. So for instance, if you don’t trust the server, don’t enable X forwarding. A misguided admin on a spoofed server may be monitoring your exact keystrokes (e.g. passwords) that are sent to the X server. So, don’t just go enable all the features in the configuration files, only enable what you need. The good thing of the set up above is that the users themselves can determine their trust on a per-host basis.

Reloading Configuration

Whenever you made a change to /etc/ssh/sshd_config you must restart the SSHD or make it reload its configuration by typing:

You can do this with a running SSH connection and you don’t need to log out. But the changes will only take effect for each user the next time they try to log in.

Listening to incoming connections

The first step in (actual) configuring is: “Where will SSHD be listening to?” For this we can set the following options:

Address

By default the SSHD is listening on all local addresses. If you have a computer with multiple network connections and you only want to use one or some of them, you can specify this. Find and change the following in /etc/ssh/sshd_config as root:

If you are using only a single interface or a network with DHCP, it is wise to keep this in its default setting. If you would like to use multiple interfaces, but not all, you can specify each address with a new line starting with ListenAddress. Each line needs to be preceded by the Port option.

By default the SSHD is listening on Port 22. You can choose not to change this. But if there were attackers looking for possible connections to break into, they would first be looking for the most common ports, like 22. Changing the port number considerably reduces the number of automated attacks performed by systematic attackers or Zombie Computers. On the other hand, changing the port number forces users to configure this alternative port on all the clients that want to connect to you. We will use port 2222 as alternative port in the following examples. To change the listening port number, edit /etc/ssh/sshd_config as root and change:

Setup your SSH to connect to SSHD

Now you will need to set up SSH (the client) to connect to the earlier set port on the SSHD. First of all, edit /etc/ssh/ssh_config. You will see the Host * option. This means all remote hosts. All options specified under a “Host” line will apply to that host only, until a next Host line is specified. This means that all the following options in this file apply to all hosts. Keep this option in it’s default value. Check the Protocol option. This one must be un-commented and set to 2 (Protocol 2). This is to make sure the old and now unsafe protocol 1 will not be used. Now safe and close this file. When there are no connections running, you do not have to restart anything for the changes to take affect. Changes will be effective the next time you will make a SSH connection.

Personal configuration file

Now create a new text file using your favourite editor and save it as

/.ssh/config. Now we can configure our host-specific connections:

Here you set up an easy name (ssh-server) for remote host address 192.168.100.103. The Host option can be set to any name you like, as long as the Hostname option is specified. If the Hostname option is not specified, you will need to put the actual address behind the Host option.

Now we can connect to the earlier configured SSHD, listening on port 2222 on address 192.168.100.103 and log in as the current user, typing:

To log in under a different user name on the remote system type:

And you will be prompted for a password.

You can specify multiple hosts and give them their own settings:

Compression is convenient to be enabled over slow connections (eg. dial-up). If enabled over a fast connection it will only slow your connection down, consuming many server and client resources.

Access Control

This is an important part for the security of your SSHD. Who will be allowed to connect and then log in to your computer. First of all, don’t use simple passwords. In the basic configuration any host can connect to your computer. If an attacker would know your ip and listening port (which can be obtained quite easy) he could easily launch a dictionary based attack on you. If the attacker knows your name is “John Smith” your user name most probably is john, js, john.smith etc. If then again you password is your dog’s name one can easily break into your system. Also don’t trust 3rd party’s password databases, like your e-mail, forum and wiki accounts. Now it’s time to keep a strict separation between passwords used on the internet and your computer’s passwords. It’s always good security practice to use random capitalized and non capitalized alphanumeric and non alphanumeric characters in your passwords.

Читайте также:  Настройка модема зте укртелеком

Limit by Hosts

If there are fixed locations from where you would want to log in to your SSHD, you can set up an per-host access control. In /etc/hosts.allow you enter the following lines for the hosts you specifically allow, e.g.:

Next enter all that need to be denied in /etc/hosts.deny,

If you are interested in a more dynamic host access control, you might want to use the DenyHosts script. This will allow you to log in from any location you like, while DenyHosts is filtering out malicious hosts based on rules like log-in attempts. DenyHosts will then again add this malicious hosts to /etc/hosts.deny. It has more nice functions like logging and reporting trough e-mail.

Limit by Users

SSHD allows to limit the login only for special users or groups. Wherever possible, use groups to enable/disable access. This way, it’s much simpler to edit the access rights afterward.

This is options can be entered in /etc/ssh/sshd_config and are processed in the following order,

PermitRootLogin can be set to yes or no. The default is yes. It is wise to change it to no, since every *NIX system has the user root and this user is almighty, so it is the ideal user to use to break into a system. You can still gain Root privileges by typing su or sudo after logging in as a normal user. You might even want to Restrict the usage of su.

The other options can be followed by a list of user or group name patterns, separated by spaces. Only names are valid; a numerical user or group ID is not recognized. You can edit /etc/ssh/sshd_config with your favorite editor and add the following line:

This will allow only the users that are member of the group sshlogin to login to the server. Now open Yast2 > Security and Users > User and Group Management to create the group sshlogin and add the users who must be allowed to login to the server. If you would now try to log in with a user with is not not included in this group, or even non-existent, you still will be prompted for a password and you will still have a number of attempts, but getting the “Incorrect Password” error all the time. So attackers won’t know if the password or the user is incorrect.

Authentication

OpenSSH server can authenticate users using its built-in authentication systems:

Keyboard-interactive

When running the SSHD under OpenSUSE, the most common way for keyboard interactive authentication is PAM. PAM is also used for local authentication of users and makes use of the same passwords that are set trough Yast. The following options allow the use of PAM for authentication, account and session check :

These are default values.

Public Key Authentication

Public key authentication allows you to log in on the server, without a password or to improve security. The key pair is generated on the client side and the private key must be stored in a secure place. The public key is sent to the server and stored in the “authorized key file”. Meaning that the computer (and user) holding the private key can sign in to the computer holding the public key.

Key generation

If ssh-keygen is used without any arguments, a 2048 bit RSA key will be generated. The private key will be stored under

/.ssh/id_rsa and the public key under

/.ssh/id_rsa.pub. Based upon your needs, you can choose to set a password. Leaving the lines blank will cause no password to be set.

$ ssh-keygen
Enter file in which to save the key (/home/your_user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved. \

Upload your key

In order to use your generated key for authentication, your public key is to be uploaded:

$ ssh-copy-id user@ssh.yourserver.org
Password:
Now try logging into the machine, with «ssh ‘user@ssh.yourserver.org'», and check in:

/.ssh/authorized_keys
to make sure we haven’t added extra keys that you weren’t expecting.

If you want to know more about this subject, including completely disabling password authentication to increase security and the use of DSA or other custom key options, read the full article

Troubleshooting

Public key authentication is not working anymore

Version: 11.3+ The following applies starting from openSUSE 11.3.

Since openSSH 5.4, relative paths in configuration are no longer allowed. When pointing to the authorized _keys file make sure you use %h/ in front of the path to your authorized_keys file. Older versions still can do without. In /etc/ssh/sshd_config change:

See also

Man pages

$ man hosts_access
$ man ssh
$ man ssh_config
$ man sshd
$ man sshd_config

Источник

Adblock
detector