- Linux и Windows: помощь админам и пользователям
- Администрируем и настраиваем Windows, Linux.
- 4 способа определить кто залогинен в Linux
- 1. Получаем список пользователей и команды, используемые ими с помощью команды w
- 2. Получаем список пользователей с помощью команды who
- 3. Узнаем под каким пользователем залогинены вы сами
- 4. Смотрим историю подключений пользователя
- Как подключиться по SSH
- Что такое SSH?
- Как подключиться по SSH
- 1. Подключение через SSH в Linux
- 2. Подключение через SSH в Windows
- Выводы
- Как посмотреть текущие SSH подключения?
- 4 ответа 4
- Как получить список всех пользователей, которые могут получить доступ к серверу через ssh?
- 2 ответа
- Список всех «пользователей»
- Показ всех пользователей с допустимой оболочкой
- У пользователей, которые имеют на самом деле, есть доступ
- Ограничение доступа
Linux и Windows: помощь админам и пользователям
Администрируем и настраиваем Windows, Linux.
4 способа определить кто залогинен в Linux
Если вы системный администратор, вы в любой момент времени можете захотеть узнать кто залогинен на вашем Linux сервере. Несомневаюсь что вам известен способ, который позволяет вам узнать это, но знаете ли вы все их и используете самый удобный? В этой статье мы рассмотрим 4 возможных способа.
1. Получаем список пользователей и команды, используемые ими с помощью команды w
Команда w используется для получения списка залогиненных пользователей и выполняемых ими команд. Вывод команды w содержит следующие колонки:[cut]
- Имя пользователя
- Номер tty
- Адрес, с которого произошло подключение
- Время подключения
- Время бездействия
- Время, затраченное всеми процессами в данном сеансе (JCPU)
- Время, потраченное текущим процессом (PCPU)
- Команда, выполняемая пользователем
Дополнительно могут быть использованы следующие опции:
- -h игнорировать информацию заголовка
- -u отображать текущую загрузку
- -s Удалить из вывода JCPU, PCPU, и время подключения
2. Получаем список пользователей с помощью команды who
Команда who используется для получения списка пользователей, залогиненных в системе. В выводе находятся следующие колонки: имя пользователя, номер tty, дата и время, адрес подключения.
Для получения отсортированного списка используем команду:
3. Узнаем под каким пользователем залогинены вы сами
Команда whoami сообщит вам информацию о том, под какой учетной записью вы залогинены в системе. Полезно использовать с похмелья
whoami дает такую же информацию, как и команда id -un
4. Смотрим историю подключений пользователя
Команда last покажет вам историю подключений для определенного пользователя. Если в качестве аргумента не указан логин какого либо пользователя, отобразится история для всех пользователей. Данная информация берется из файла /var/log/wtmp. В выводе присутствуют следующие колонки:
- Имя пользователя
- Номер Tty
- Время и дата подключения
- Время отключения
- Общее время работы сеанса
Постовой
Не хватает фантазии сочинить собственный текст, или просто нет времени? Вам определенно требуется копирайтер, который сделает для вас качественный уникальный материал.
Качественные объективы для фотоаппаратов. Практические все виды объективов по низким ценам.
Источник
Как подключиться по SSH
SSH — это основной протокол для удаленного управления серверами на базе операционной системы Linux. Все действия при подключении к SSH выполняются в командной строке, но при достаточном уровне знаний и привилегий в системе там можно сделать практически все что угодно, в отличие от того же FTP где можно только передавать и редактировать файлы.
Если вы покупаете VPS сервер или продвинутый хостинг, обычно в письме вместе с другими данными авторизации есть данные доступа по SSH. В этой статье мы рассмотрим как подключиться по SSH к серверу из Linux или Windows.
Что такое SSH?
Поскольку эта статья рассчитана именно на новичков, то перед тем, как перейти дальше давайте подробнее разберемся что из себя представляет SSH. Исторически так сложилось что на большинстве серверов используется операционная система Linux, во многом этому посодействовала ее бесплатность. Графический интерфейс на серверах Linux не используется для экономии ресурсов, поэтому единственным способом администрирования сервера остается командная строка.
Но это не является недостатком, потому что в командной строке Linux можно сделать больше чем графическом интерфейсе. Протокол SSH позволяет вам выполнять команды в удаленной системе так, как будто вы это делаете в своей системе. Вам доступен буфер обмена, вы вводите команды и можете использовать их вывод. Недоступны разве что файлы из вашей файловой системы. Например, когда вы подключитесь к серверу по SSH из Ubuntu, то все будет выглядеть так, как будто вы открыли терминал в своей системе.
Как подключиться по SSH
Для подключения по SSH нам необходимо знать такие данные:
- ip адрес сервера, к которому мы собираемся подключится;
- порт, на котором ожидает подключения SSH сервер, по умолчанию используется 22, но в целях безопасности порт подключения ssh часто изменяют;
- имя и пароль пользователя на удаленном сервере.
Больше ничего не нужно, обычно эти данные присылают в письме вместе с описанием VPS. Теперь перейдем к практике.
1. Подключение через SSH в Linux
В Linux подключение по SSH выполняется с помощью утилиты ssh. Мы более подробно рассматривали работу с ней в статье как пользоваться ssh. Для подключения к удаленному компьютеру ее синтаксис будет выглядеть следующим образом:
$ ssh имя_пользователя @ айпи_адрес
Это самый простой вариант, если вам также нужно задать порт, используйте опцию -p:
$ ssh имя_пользователя @ айпи_адрес -p порт
Чтобы выполнить подключение по SSH Linux нажмите Ctrl+Alt+T для открытия терминала и наберите команду, заменив нужные значения:
Или, с нестандартным портом:
ssh sergiy@192.168.1.2 -p 2223
Если ip_адрес и порт правильные, то на следующем шаге программа попросит у вас ввести пароль:
Если пытаетесь подключится через SSH к этому серверу первый раз, то утилита также попросит подтвердить добавление нового устройства в свой список известных устройств, здесь нужно набрать yes и нажать Enter:
Теперь вы подключены, и все вводимые далее команды будут выполнены на удаленном сервере:
Если же произошла ошибка и IP адрес или порт введены неверно, то вы получите ошибку Connection Refused:
Просто убедитесь что порт введен верно. Если это ваш сервер, то, возможно на нем еще нужно разрешить подключение SSH в брандмауэре. В Ubuntu/Debian для этого на удаленном сервере выполните:
sudo ufw allow 22/tcp
А в CentOS/Fedora:
firewall-cmd —permanent —zone=public —add-port=22/tcp
Если вы используете другой порт для SSH, то замените 22 на свой порт. Для удобства подключения по SSH в дальнейшем можно настроить авторизацию по ключу ssh, чтобы не вводить каждый раз пароль.
Теперь вы знаете как подключиться по ssh linux и решить проблемы с подключением. А теперь перейдем к Windows.
2. Подключение через SSH в Windows
Раньше подключение по SSH из Windows выполнялось только с помощью сторонних утилит, например PuTTY. Но в Windows 10 был добавлен встроенный OpenSSH клиент и работает он точно так же, как и в Linux. По умолчанию этот компонент не активирован. Для его установки откройте Параметры -> Приложения:
Затем выберите Управление дополнительными компонентами:
Здесь нажмите добавить новый компонент и в открывлемся меню выберите OpenSSH Client и нажмите Устанвоить:
Дальше вернитесь назад и дождитесь завершения установки. После того, как SSH клиент будет установлен нужно обязательно перезагрузить компьютер.
После перезагрузки нажмите Win+R чтобы открыть окно запуска команд и наберите в нем cmd:
Далее нажмите Enter. Перед вами откроется командная строка Windows. Здесь можно использовать утилиту ssh. Синтаксис у нее абсолютно такой же, как и для Linux:
ssh имя_пользователя @ айпи_адрес -p порт
Например, такой командой можно подключится по SSH к Raspberry Pi, который находится в вашей локальной сети по адресу 192.168.1.5:
Утилита предложит добавить устройство в список известных:
Затем предложит ввести пароль:
Все следующие команды будут выполняться уже на Raspberry Pi или другой удаленной машине, к которой вы подключились.
Теперь подключиться к серверу по ssh из этой операционной системы также просто как и из Linux.
Выводы
В этой статье мы рассмотрели как выполняется подключение к серверу по SSH из Linux или Windows. Как видите, это очень просто. А дальше, для работы с удаленным сервером вам понадобятся команды терминала Linux.
Источник
Как посмотреть текущие SSH подключения?
Хотелось бы с указанием IP. Или это невозможно?
4 ответа 4
Чтобы посмотреть установленные ssh соединения, ss(8):
Чтобы посмотреть, кто залогинен, с какого ip и какую команду выполняют, w(1):
Вывод примерно такой будет:
111.111.11.111 — ip подключившегося.
хотя показаны две строки, но, фактически, это одно соединение к локальному компьютеру ( 10.0.0.1 , порт 22 ( ssh )) с удалённого ( 10.0.0.2 , порт 59964). просто процесс sshd, выполняющийся от имени root, создал дочерний процесс, но уже от имени alice.
пояснения (см. $ man lsof ):
- -n — не пытаться преобразовывать ip-адреса в доменные имена (может значительно ускорить работу)
- -a — применить логическую операцию «и» («and»)
- -itcp — показать tcp-сокеты
- -stcp:established — показать tcp-сокеты, находящиеся в состоянии «established»
- -c sshd — показать процессы, запущенные из бинарных файлов, имена которых начинаются строкой sshd
почему два фильтры -itcp и -c sshd вместо одного -itcp:22 ?
потому что в этом случае в вывод попадут и процессы ssh, запущенные локально и подключившиеся к 22-ым портам каких-нибудь машин. к тому же, в случае, если ваш sshd слушает и/или порт(ы), отличный(е) от 22-го, то такие соединения просто не попадут в вывод.
Источник
Как получить список всех пользователей, которые могут получить доступ к серверу через ssh?
Система -> Администрирование -> Источники программного обеспечения -> Обновления (вкладка) -> Проверить наличие обновлений: [Ежедневно | Каждые два дня | Еженедельно | Каждые две недели]
2 ответа
Мой ответ тянет от ответов до этого stackoverflow вопроса.
Список всех «пользователей»
Я ожидал, что будет способ, которым я мог просто сказать, показать мне всех пользователей, которые могут ssh на мой сервер.
То, что я не понял, — то, что нет различия между людьми-пользователями и системой — «пользователи», поэтому в то время как можно перечислить всех пользователей с этой командой, это, вероятно, намного длиннее, чем Вы были expecting/hoping-for:
Показ всех пользователей с допустимой оболочкой
Если пользователи окружают, установлен на /etc/false затем они не могут войти в систему, таким образом, это обрезает вниз список возможных пользователей SSH:
Но это — все еще довольно большой список.
У пользователей, которые имеют на самом деле, есть доступ
Если у пользователя нет действительного пароля, который мог бы быть признаком, что они не могут войти в систему.
/etc/shadow файл содержит зашифрованные пароли, a»!» или «*» в 2-м столбце этого файла означает, что никакой пароль не установлен. Мы можем фильтровать тех, которые для нового (вероятно, короче) списком пользователей, которые имеют действительный пароль:
(Примечание: та команда могла быть добита большего успеха — не стесняются обновлять мой ответ),
Единственные другие учетные записи, которые не покрыты этим, были бы то, где у них есть ssh, включают их учетную запись пользователя, таким образом, необходимо также посмотреть на пользователей, которые имеют домашнюю папку:
Ограничение доступа
Хорошо — поэтому теперь у меня есть несколько ограниченный список — и я хочу удалить доступ для нескольких учетных записей.
Ответ @Yaron описывает это более подробно (как делает это), но кратко; /etc/ssh/sshd_config файл говорит, какие учетные записи могут ssh, и если Вы устанавливаете AllowUsers там затем другие пользователи будут ограничены — таким образом, можно будет отредактировать тот файл, чтобы быть явными о том, кто Вы хотите позволить входить в систему:
И добавьте высказывание строки
Наконец перезапустите ssh сервис
(в зависимости от Вашей системы — посмотрите это для сервисного перезапуска в других системах),
По умолчанию все пользователи определенной машины могут войти в эту машину, используя ssh.
Вы можете настроить sshd , чтобы разрешить доступ только для части пользователей машины.
Ubuntu ssh man page Укажите, что вы можете разрешить / запретить определенных пользователей / групп в sshd_config — OpenSSH SSH daemon configuration file — /etc/ssh/sshd_config
- AllowUsers ] За этим ключевым словом может следовать список шаблонов имен пользователей, разделенных пробелами.
- Если указано, вход в систему разрешен только для имен пользователей, которые соответствуют одному из шаблонов.
- Допустимы только имена пользователей; числовой идентификатор пользователя не распознается.
- По умолчанию вход в систему разрешен для всех пользователей.
- Если шаблон принимает форму USER @ HOST, тогда USER и HOST проверяются отдельно, ограничивая входы в систему для определенных пользователей с определенных хостов.
- Директивы allow / deny обрабатываются в следующем порядке: DenyUsers, AllowUsers, DenyGroups, и, наконец, AllowGroups
]
Чтобы найти список всех пользователей на сервере, выполните следующую команду на сервере:
Согласно обновленному вопросу, /etc/passwd не делает т несколько имен пользователей. Это может быть результатом того, что сервер является частью Network Information Service , LDAP или SAMBA.
Для просмотра всем пользователям & amp; группы, известные вашему серверу, из каких бы источников они ни приходили, вы бы предпочли использовать команду getent :
Похоже, что у вас включен LDAP сервер, и он был определен для отключения доступа к списку пользователей LDAP.
В противном случае getent passwd покажет вам файл passwd
Источник