Команда SSH
Secure Shell (SSH) — это криптографический сетевой протокол, используемый для зашифрованного соединения между клиентом и сервером. Клиент ssh создает безопасное соединение с сервером SSH на удаленном компьютере. Зашифрованное соединение можно использовать для выполнения команд на сервере, туннелирования X11, переадресации портов и т. Д.
Доступен ряд клиентов SSH, как бесплатных, так и коммерческих, причем OpenSSH является наиболее широко используемым клиентом. Он доступен на всех основных платформах, включая Linux, OpenBSD, Windows и macOS.
В этой статье объясняется, как использовать клиент командной строки OpenSSH ( ssh ) для входа на удаленный компьютер и выполнения команд или выполнения других операций.
Установка клиента OpenSSH
Клиентская программа OpenSSH называется ssh и может быть запущена с терминала. Клиентский пакет OpenSSH также предоставляет другие утилиты SSH, такие как scp и sftp , которые устанавливаются вместе с командой ssh .
Работа с SSH в Windows 10 и Linux. Генерация ключей
Установка клиента OpenSSH в Linux
Клиент OpenSSH предустановлен в большинстве дистрибутивов Linux по умолчанию. Если в вашей системе не установлен клиент ssh, вы можете установить его с помощью диспетчера пакетов распространения.
Установка OpenSSH в Ubuntu и Debian
sudo apt updatesudo apt install openssh-client
Установка OpenSSH на CentOS и Fedora
sudo dnf install openssh-clients
Установка клиента OpenSSH в Windows 10
Большинство пользователей Windows используют Putty для подключения к удаленному компьютеру через SSH. Однако последние версии Windows 10 включают клиент и сервер OpenSSH.
Оба пакета можно установить через графический интерфейс или PowerShell.
Чтобы узнать точное имя пакета OpenSSH, введите следующую команду:
Get-WindowsCapability -Online | ? Name -like ‘OpenSSH*’
Команда должна вернуть что-то вроде этого:
Name : OpenSSH.Client~~~~0.0.1.0 State : NotPresent Name : OpenSSH.Server~~~~0.0.1.0 State : NotPresent
Как только вы узнаете имя пакета, установите его, запустив:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
В случае успеха результат будет выглядеть примерно так:
Path : Online : True RestartNeeded : False
Установка клиента OpenSSH на macOS
macOS поставляется с установленным по умолчанию клиентом OpenSSH.
Как использовать команду ssh
Следующие требования должны быть выполнены, чтобы иметь возможность войти на удаленный компьютер через SSH:
- На удаленном компьютере должен быть запущен SSH-сервер.
- Порт SSH должен быть открыт в брандмауэре удаленного компьютера.
- Вы должны знать имя пользователя и пароль удаленной учетной записи. Учетная запись должна иметь соответствующие права для удаленного входа в систему.
Основной синтаксис команды ssh следующий:
ssh [OPTIONS] [[email protected]]:HOST
Чтобы использовать команду ssh , откройте свой терминал или PowerShell и введите ssh а затем имя удаленного хоста:
Как подключиться к серверу через SSH с помощью программы Putty через логин/пароль или ключ
ssh ssh.linuxize.com
При первом подключении к удаленному компьютеру через SSH вы увидите сообщение, подобное приведенному ниже.
The authenticity of host ‘ssh.linuxize.com (192.168.121.111)’ can’t be established. ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY. Are you sure you want to continue connecting (yes/no)?
У каждого хоста есть уникальный отпечаток, который хранится в файле ~/.ssh/known_hosts .
Введите yes чтобы сохранить удаленный отпечаток пальца, и вам будет предложено ввести пароль.
Warning: Permanently added ‘ssh.linuxize.com’ (ECDSA) to the list of known hosts. [email protected]’s password:
После ввода пароля вы войдете в удаленную машину.
Если имя пользователя не указано, команда ssh использует текущее имя для входа в систему.
Чтобы войти в систему как другой пользователь, укажите имя пользователя и хост в следующем формате:
Имя пользователя также можно указать с помощью опции -l :
ssh -l username hostname
По умолчанию, когда порт не указан, клиент SSH будет пытаться подключиться к удаленному серверу через порт 22. На некоторых серверах администраторы изменяют порт SSH по умолчанию, чтобы добавить дополнительный уровень безопасности к серверу, уменьшая риск автоматические атаки.
Чтобы подключиться к порту, -p от порта по умолчанию, используйте параметр -p чтобы указать порт:
Если у вас возникли проблемы с аутентификацией или подключением, используйте параметр -v чтобы указать ssh печатать отладочные сообщения:
Чтобы повысить уровень детализации, используйте -vv или -vvv .
Команда ssh принимает ряд параметров.
Для получения полного списка всех параметров прочтите страницу руководства по ssh , набрав в терминале man ssh .
Файл конфигурации SSH
Если вы подключаетесь к нескольким удаленным системам через SSH на ежедневной основе, вы обнаружите, что запоминание всех удаленных IP-адресов, различных имен пользователей, нестандартных портов и различных параметров командной строки является трудным, если не невозможным.
Клиент OpenSSH считывает параметры, заданные в файле конфигурации для каждого пользователя ( ~/.ssh/config ). В этом файле вы можете хранить различные параметры SSH для каждой удаленной машины, к которой вы подключаетесь.
Пример конфигурации SSH показан ниже:
Host dev HostName dev.linuxize.com User mike Port 4422
Когда вы вызываете ssh-клиент, набирая ssh dev , команда считывает файл ~/.ssh/config и использует данные соединения, указанные для хоста dev. В этом примере ssh dev эквивалентен следующему:
Дополнительные сведения см. В статье о файле конфигурации SSH .
Аутентификация открытого ключа
Протокол SSH поддерживает различные механизмы аутентификации.
Механизм аутентификации на основе открытого ключа позволяет вам войти на удаленный сервер, не вводя пароль .
Этот метод работает путем создания пары криптографических ключей, которые используются для аутентификации. Закрытый ключ хранится на клиентском устройстве, а открытый ключ передается на каждый удаленный сервер, на который вы хотите войти. Удаленный сервер должен быть настроен на прием аутентификации по ключу.
Если у вас еще нет пары ключей SSH на вашем локальном компьютере, вы можете создать ее, набрав:
Вам будет предложено ввести безопасную парольную фразу. Если вы хотите использовать кодовую фразу, решать вам.
Когда у вас есть пара ключей, скопируйте открытый ключ на удаленный сервер:
Введите пароль удаленного пользователя, и открытый ключ будет добавлен в файл authorized_keys удаленного пользователя.
После загрузки ключа вы можете войти на удаленный сервер без запроса пароля.
Установив аутентификацию на основе ключей, вы можете упростить процесс входа в систему и повысить общую безопасность сервера.
Перенаправление порта
SSH-туннелирование или перенаправление портов SSH — это метод создания зашифрованного SSH-соединения между клиентом и сервером, через которое могут ретранслироваться порты служб.
Перенаправление SSH полезно для передачи сетевых данных служб, использующих незашифрованный протокол, например VNC или FTP, доступа к контенту с географическим ограничением или обхода промежуточных межсетевых экранов. По сути, вы можете перенаправить любой TCP-порт и туннелировать трафик через безопасное соединение SSH.
Существует три типа переадресации портов SSH:
Перенаправление локального порта
Перенаправление локального порта позволяет вам перенаправить соединение с клиентского хоста на хост-сервер SSH, а затем на порт хоста назначения.
Чтобы создать переадресацию локального порта, передайте параметр -L клиенту ssh :
Параметр -f указывает команде ssh работать в фоновом режиме, а -N не выполнять удаленную команду.
Перенаправление удаленного порта
Перенаправление удаленного порта противоположно перенаправлению локального порта. Он перенаправляет порт с хоста сервера на хост клиента, а затем на порт хоста назначения.
Параметр -L указывает ssh создать переадресацию удаленного порта:
Динамическая переадресация портов
Динамическая переадресация портов создает прокси-сервер SOCKS, который обеспечивает связь через диапазон портов.
Чтобы создать динамическую переадресацию портов (SOCKS), передайте параметр -D клиенту ssh:
Более подробную информацию и пошаговую инструкцию смотрите в статье Как настроить SSH-туннелирование (перенаправление портов) .
Выводы
Чтобы подключиться к удаленному серверу через SSH, используйте команду ssh за которой следует имя удаленного пользователя и имя хоста ( ssh [email protected] ).
Знание того, как использовать команду ssh необходимо для управления удаленными серверами.
Если у вас есть вопросы, оставьте комментарий ниже.
Источник: routerus.com
За что админы любят SSH
Представим ситуацию: ваш сайт перестал работать, панель управления хостингом не открывается, а вам нужно всё починить. Или такое: вы работаете в Брянске, ваш заказчик — в Сыктывкаре, и у него сломался интернет-магазин на собственном сервере.
Тут два варианта: можно физически приехать в нужный город, подключить клавиатуру к серверу и исправить всё на месте. А можно подключиться к серверу удалённо по SSH и поисправлять все ошибки, попивая сок у себя в квартале (в Брянске).
SSH — это защищённый протокол, по которому компьютеры могут отправлять друг другу команды и данные. В нашем случае с помощью SSH можно удалённо управлять каким-нибудь компьютером: давать ему команды, исполнять на нём программы и делать что угодно ещё, что позволит нам командная строка. Если удалось связаться с компьютером по SSH, то это как будто вы подключили к удалённому компьютеру свою клавиатуру.
Командная строка
Если вы подключитесь к другому компьютеру по SSH, вы не увидите там рабочий стол и окна программ. Вы увидите чёрный экран и строки текста. Это нормально. Это называется командной строкой. Сейчас вы поймёте.
Когда вы работаете за компьютером, вы обычно видите окна, кнопки, страницы и всё подобное. Это называется графическим интерфейсом.
Графический интерфейс — это не сами программы. Это лишь способ представления программы. Сама программа — это то, что исполняется внутри компьютера: то, что считает, копирует, обрабатывает и так далее. Есть огромное количество программ без графического интерфейса: например, веб-сервер Apache — это программа. Сервер работает на вашем компьютере, занимает память, выдаёт страницы куда нужно, ведёт свою серверную работу, но у него нет графического интерфейса — нет никакого окошка, на которое вы можете сказать «Это сервер».
Или, например, ваш браузер. Если у вас Chrome, то вы видите окно с веб-страницей. А есть версия Headless Chrome, которая может выплёвывать любые страницы в виде картинок прямо на ваш жёсткий диск. У этого «Хрома» нет графического интерфейса со страницей (но есть небольшой интерфейс для настройки).
С нашей человеческой точки зрения интерфейс — это и есть программа. А с точки зрения компьютера интерфейс — это что-то побочное. И опытные программисты довольно часто используют в работе программы, у которых нет графического интерфейса, только командная строка.
Командная строка — это текстовый интерфейс программы. Вы вводите в эту строку команду, программа может в ответ что-то вас спросить текстом, вы ей текстом ответите, и программа сделает свою работу. Мы уже сталкивались с командной строкой, когда собирали своё приложение в электроне или объясняли, как устроен интернет:
Бывают и другие интерфейсы программ. Например, может быть голосовой интерфейс: компьютер вас слушает, интерпретирует команды, задаёт вам вопросы голосом.
Может быть интерфейс в виде чата. Вместо того чтобы давать текстовые команды в командной строке, вы пишете команды чат-боту.
Может быть даже физический интерфейс: когда вы играете в приставку, вы даёте команду с помощью джойстика или каких-нибудь палок с датчиками. Когда в вас попадают враги, джойстики могут вибрировать — это приставка вам пытается что-то сказать. Так что графический интерфейс — это лишь одна из разновидностей.
SSH-соединение
Основной принцип работы такой: SSH-клиент на компьютере соединяется с SSH-сервером, они убеждаются, что каждый именно тот, за кого себя выдаёт, договариваются о шифровании и после этого устанавливают защищённый туннель для передачи команд. Важно понимать, что сервер — это просто такое название для удалённого компьютера. Сервером может быть и домашний ноутбук, и плата на Raspberry Pi.
Запуск SSH-клиента
Если у вас один из вариантов линукса, BSD, UNIX или Мак — поздравляем, SSH-клиент у вас уже есть. Для его запуска достаточно набрать в командной строке что-то подобное:
Здесь login — это имя пользователя, под которым вы хотите зайти на сервер, а 11.22.33.44 — IP-адрес этого сервера. Чаще всего используется 22 порт, но иногда эта настройка может меняться.
Порт — это что-то вроде номера маршрутки, которая идёт по городу. Все привыкли, что если нужно «доехать» до SSH, то садятся на маршрутку номер 22. Но иногда начальник городского транспорта (администратор) может поменять номер, тогда вместо 22-й маршрутки нужно будет садиться, например, на 320-ю.
У Виндоус нет встроенного SSH-клиента, поэтому нужно скачать его отдельно. Чаще всего выбирают PyTTY — SSH-клиент с графической оболочкой, в которой можно настраивать параметры соединения:
Обмен ключами шифрования
Когда мы запускаем SSH-клиент и говорим ему соединиться с нужным сервером, происходит следующее:
- Сервер отправляет клиенту протоколы шифрования, с которыми он умеет работать. Если клиент тоже умеет работать с ними — всё отлично, идём дальше.
- Сервер и клиент с помощью криптографической магии устанавливают защищённое соединение, которое невозможно взломать или изменить (как они сами думают).
- Теперь у каждой стороны есть секретный ключ, которым зашифровывается и расшифровывается каждое сообщение.
Если всё прошло штатно, то при самом первом подключении сервер пришлёт в ответ что-то вроде этого:
The authenticity of host ‘11.22.33.44 (11.22.33.44)’ can’t be established.
ECDSA key fingerprint is fd: fd: d4:f9:77:fe: 73:84:e1:55:00:ad: d6:6d: 22:fe.
Are you sure you want to continue connecting (yes/no)?
Здесь сервер спрашивает, точно ли мы хотим установить это соединение. Если да — вводим в ответ yes. Это значит, что мы получили уникальный «отпечаток пальцев» для нашего соединения. Теперь, когда поменяются настройки SSH-сервера или его полностью переустановят, отпечаток уже не совпадёт и клиент будет бить тревогу. Всё для того, чтобы сделать соединения более безопасными в будущем.
Доступ по паролю или ключу
У нас уже есть защищённое соединение, и теперь мы можем вводить пароль. Для этого, после запуска нашей команды или клиента, SSH-сервер присылает в ответ такое:
Это значит, что нам нужно ввести пароль от пользователя с именем login. Пароль вводится каждый раз, когда мы устанавливаем SSH-соединение.
Есть и другой способ доказать серверу, что вы имеете право подключаться к нему: ключи доступа. Если настроить доступ по ключу, то пароль уже не нужен. Главное — нигде не публиковать приватный ключ. О ключах сейчас говорить не будем, сложновато.
Теперь соединение установлено, можно управлять удалённым компьютером, сидя у себя дома. Именно за это SSH и любят админы: лаконичный и понятный (для них) интерфейс, простота работы и полная безопасность при грамотной настройке.
Что можно делать с помощью SSH
Всё, что можно было бы делать, если бы вы сидели за компьютером, открыв командную строку:
- настраивать сервер;
- программировать;
- устанавливать Вордпресс;
- чинить неисправности на сайте;
- запускать и останавливать программы, в том числе намертво зависшие;
- копировать файлы;
- управлять настройками безопасности;
- заставить компьютер перезагрузиться;
- отформатировать какой-нибудь диск;
- забрать файл с удалённого компьютера или закинуть туда свой файл;
- выполнить этот закинутый файл удалённо на другом компьютере;
- делать ещё сотню вещей, для которых достаточно командной строки.
Вот несколько примеров из реальной жизни:
У вас намертво завис процесс веб-сервера на удалённом компьютере, и никакие внутренние службы не могут с ним ничего сделать. Подключаетесь по SSH, находите зависший процесс и убиваете его. А то и говорите машине перезагрузиться.
В офис вашей компании ворвались бойцы в масках. Пока они идут в серверную, вы набираете команду стереть все жёсткие диски. Команда по SSH долетает до сервера, и вуаля. Господа в масках останутся не при делах.
Вы написали телеграм-бота и хотите, чтобы он работал на удалённом сервере. Вы арендуете ячейку на Digital Ocean, подключаетесь к ней по SSH, загружаете вашего бота туда и активируете. Теперь программа, которая отвечает за бота, крутится на удалённом сервере, а ваш компьютер можно безопасно выключить.
Вы уже ушли с работы, как вдруг вспомнили, что забыли скинуть в общий проект свои последние изменения. Пока вы ждёте метро, вы с телефона заходите по SSH на рабочий компьютер и пишете команды, чтобы последние изменения долетели до коллег.
У вашей девушки (или парня) сегодня день рождения. Вы подключаетесь к её компьютеру дистанционно, загружаете приложение с поздравлением и удалённо запускаете. Это очень крипово, не делайте так никогда.
У вас в офисе есть кофемашина, которая поддерживает SSH. Вы подключаетесь к ней и заказываете кофе. К моменту, как вы доходите до кофепойнта, ваш кофе готов. Но кто подставит кружку?
Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Источник: thecode.media
Как использовать клиент OpenSSH в Windows 10?
Откройте «Приложения и функции» и нажмите «Управление дополнительными функциями». Затем нажмите «Добавить функцию» и прокрутите вниз, пока не найдете «Клиент OpenSSH». Установите его, и вы должны быть готовы к работе.
Как запустить клиент OpenSSH в Windows 10?
Как установить OpenSSH с помощью настроек
- Открыть настройки.
- Нажмите на приложения.
- Щелкните Приложения и функции.
- В разделе «Приложения и функции» щелкните ссылку Управление дополнительными функциями. Настройки приложений и функций.
- Нажмите кнопку «Добавить функцию». Управляйте дополнительными функциями в Windows 10.
- Выберите опцию OpenSSH Client.
- Нажмите кнопку Установить.
Как запустить SSH-клиент?
Включение SSH в Ubuntu
- Откройте свой терминал с помощью сочетания клавиш Ctrl + Alt + T или щелкнув значок терминала и установите пакет openssh-server, набрав: sudo apt update sudo apt install openssh-server. …
- После завершения установки служба SSH запустится автоматически.
Есть ли в Windows 10 клиент SSH?
В Windows 10 есть встроенный SSH-клиент, который можно использовать в Терминале Windows.
Что такое клиент OpenSSH?
Клиент SSH — это программа, которая позволяет устанавливать безопасные и аутентифицированные SSH-соединения с SSH-серверами. Клиентское программное обеспечение SSH доступно для основных операционных систем корпоративной среды, таких как варианты Unix, Microsoft Windows и IBM z / OS.
Есть ли в Windows 10 клиент SFTP?
Как установить SSH-клиент Windows 10. Клиент SSH является частью Windows 10, но это «дополнительная функция», которая не устанавливается по умолчанию. Чтобы установить его, перейдите в «Настройки»> «Приложения» и нажмите «Управление дополнительными функциями» в разделе «Приложения и функции».
Нужен ли OpenSSH клиент?
Любая операционная система на основе BSD или Linux, работающая на сервере, будет поставляться с предустановленным демоном OpenSSH. Чтобы «разговаривать» с этим демоном и взаимодействовать с удаленной машиной, вам также понадобится SSH-клиент. … Использовать этот клиент проще и быстрее, чем устанавливать и настраивать PuTTY.
Как установить SSH-клиент в Windows 10?
Чтобы установить OpenSSH, запустите «Настройки», затем перейдите в «Приложения»> «Приложения и функции»> «Управление дополнительными функциями». Просмотрите этот список, чтобы увидеть, установлен ли уже клиент OpenSSH. Если нет, то вверху страницы выберите «Добавить компонент», затем: Чтобы установить клиент OpenSSH, найдите «Клиент OpenSSH», затем нажмите «Установить».
Какая команда используется для запуска SSH-сервера?
Вам необходимо запустить сценарий с именем / etc / init. d / ssh для остановки, запуска и перезапуска сервера OpenSSH. Вы также можете использовать служебную команду для управления сценарием инициализации System V. Если вы используете последнюю версию Ubuntu, такую как 12.04 LTS или 13.04+, вам необходимо использовать команды на основе заданий выскочки, как указано ниже.
Что такое AWS ssh?
Об Amazon EC2 Instance Connect
Самый распространенный инструмент для подключения к серверам Linux — это Secure Shell (SSH). Он был создан в 1995 году и сейчас устанавливается по умолчанию почти во всех дистрибутивах Linux. При подключении к хостам через SSH пары ключей SSH часто используются для индивидуальной авторизации пользователей.
Как узнать, включен ли в Windows SSH?
Вы можете проверить, включена ли эта функция в вашей версии Windows 10, открыв настройки Windows и перейдя в Приложения> Дополнительные функции и убедившись, что отображается Open SSH Client. Если он не установлен, вы можете сделать это, щелкнув Добавить компонент.
Как мне подключиться к моему компьютеру по SSH?
Как настроить ключи SSH
- Шаг 1. Создайте ключи SSH. Откройте терминал на вашем локальном компьютере. …
- Шаг 2: Назовите свои SSH-ключи. …
- Шаг 3. Введите кодовую фразу (необязательно)…
- Шаг 4: Переместите открытый ключ на удаленный компьютер. …
- Шаг 5: Проверьте ваше соединение.
Как запустить службу SSH в Windows?
Запустите службу и / или настройте автоматический запуск:
- Перейдите в Панель управления> Система и безопасность> Администрирование и откройте Службы. …
- Если вы хотите, чтобы сервер запускался автоматически при запуске вашего компьютера: выберите «Действие»> «Свойства». …
- Запустите службу SSH-сервера OpenSSH, нажав кнопку Запустить службу.
В чем разница между SSH и OpenSSH?
SSH (Secure Shell) — это инструмент для безопасного системного администрирования, передачи файлов и других коммуникаций через Интернет или другую ненадежную сеть. … OpenSSH — это реализация протокола SSH с открытым исходным кодом.
OpenSSH безопасен?
Заключение. OpenSSH — это стандарт безопасного удаленного доступа к * Unix-подобным серверам, заменяющий незашифрованный протокол telnet. SSH (и его подпротокол передачи файлов SCP) гарантирует, что соединение вашего локального компьютера с сервером будет зашифрованным и безопасным.
В чем разница между SSH-клиентом и SSH-сервером?
И клиент, и сервер имеют один и тот же ключ, поэтому любые сообщения, которыми обмениваются, могут быть зашифрованы и расшифрованы. Клиент и сервер создают ключ одновременно, но независимо друг от друга. В так называемом алгоритме смены ключа обе стороны используют определенную открытую и секретную информацию для создания ключа.
Источник: frameboxxindore.com
Faq по OpenSSH в русской редакции
1.0 — Что такое OpenSSH и Где Я могу его взять?
1.1 — Что такое OpenSSH?
OpenSSH это СВОБОДНАЯ версия известного набора сетевого инструментария SSH, количество поклонников и пользователей которого в Internet существенно возросла и продолжает расти. Большинство пользователей таких программ как telnet, rlogin, ftp, и других подобных программ не знают или осознают что эти программы передают по сети пользовательские пароли в нешифрованном виде в отличие от OpenSSH. OpenSSH шифрует весь передаваемый трафик (включая пароли) и эффективно предотвращает подслушивание, похищение.перехват соединений и другие виды сетевых атак.
Пакет OpenSSH включает в себя ssh(1) программу для замены таких средств как rlogin и telnet, программу scp(1) которая заменяет такие средства как rcp(1) и ftp(1). Недавно в OpenSSH были реализованы и добавлены sftp(1) и sftp-server(8) которые реализуют простую передачу файлов.
OpenSSH consists of a number of programs.
- sshd(8) — Серверная программа для запуска на серверной машине. Эта программа слушает сетевые запросы от удаленных — клиентских машин, и при получении запроса на соединение производит необходимые действия, авторизацию удаленного клиента и в случае ее прохождения запускает требуемую службу для удаленного клиента.
- ssh(1) — Это клиентская программа, которая используется для входа на другую машину сети или выполнения команд на удаленном компьютере. slogin это другое имя этой же программы.
- scp(1) — Безопасное копирование файлов с одной машины на другую.
- ssh-keygen(1) — Используется для создания Публичных Авторизационных ключей (RSA or DSA) как для хостов(компьютеров), так и для пользователе.
- ssh-agent(1) — Авторизационный Агент, который используется для хранения личных RSA ключей в памяти, для последующей авторизации с использованием публичных ключей.
- ssh-add(1) — Используется для добавления новых личных ключей авторизационному агенту ssh-agent.
- sftp-server(8) — Подсистема SFTP сервер.
- sftp(1) — программа безопасной передачи файлов.
- ssh-keyscan(1) — программа для сбора ssh публичных ключей в сети.
1.2 — Почему его надо использовать?
OpenSSH это набор программ для обеспечения безопасной работы в сети, ниже приводится список предоставляемых возможностей этого инструментария:
- Строгая авторизация. Исправлено большое число дыр в безопасности. (например IP, routing, и DNS spoofing).
- Усилена безопасность. Все соединения автоматически и прозрачно шифруются.
- Безопасная работа X11 сессий. Программы автоматически устанавливают переменную DISPLAY на удаленном сервере, и перенаправляют любые соединения X11 по защищенным шифрованным каналам.
- Произвольные TCP/IP порты могут быть перенаправлены через шифрованные каналы в обоих направлениях (например, для e-cash транзакций).
- Нет необходимости переподготовки обычных пользователей.
- Никогда не доверять сети. Минимальное доверие соединению с удаленной стороны. Минимальное доверие серверам доменных имен. Чистая RSA авторизация не доверяет ничему кроме личных ключей.
- Клиент авторизует сервер по RSA в начале каждого соединения для защиты от трянских коней (routing или DNS spoofing) и man-in-the-middle атак, и сервер в свою очередь авторизует по RSA клиента, до принятия авторизации через .rhosts или /etc/hosts.equiv чтобы в свою очередь защитить себя от атак (DNS, routing, или IP-spoofing).
- Распространение публичных ключей хостов может проводиться централизованно администраторами сети или автоматически при установлении с этим хостом первого соединения.
- Любой пользователь может создать любое необходимое для своих нужд количество авторизационных ключей RSA.
- Программа сервер имеет свой собственный RSA ключ сервера который автоматически изменяется, по умолчанию каждый час.
- В дополнение можно использовать авторизационный агент чтобы хранить в памяти RSA авторизационные ключи пользователя лаптопа, нотбука или рабочей станции.
- OpenSSH может быть установлен и использован (с некоторыми ограничениями) даже без привилегий суперюзера root.
- Конфигурация клиентской части может быть изменена как в соответствующих системных конфигурационных файлах, так и в конфигурационных файлах самих пользователей.
- В случае если на удаленном сервере не используется или не работает серверная программа sshd, клиент автоматически попытается перейти на работу через rsh если он поддерживается сервером и при этом будет выдано соответствующее сообщение.
- При работе может быть использована компрессия всех данных посредством использования gzip (включая форвардирование соединений X11 и перенаправление TCP/IP портов), причем компрессия может значительно повысить скорость работы, особенно на медленных соединениях/каналах.
- Полная замена средств rlogin, rsh, и rcp.
На настоящий момент, почти все коммуникации в компьютерных сетях сделаны без шифрации. И как результат, любой кто имеет доступ к компьютеру подключенномув сеть сможет подслушать практически любые сетевые соединения. Этим методом могут воспользоваться хакеры, любопытные системные администраторы, предприниматели, криминальные элементы, промышленные шпионы или правительственные службы. Некоторые сети и компьютерное оборудование имеют достаточное электромагнитное излучение благодаря которому данные могут быть сняты даже на расстоянии.
Когда вы осуществляет заход на удаленный компьютер в сети, ваш пароль передается в сети открытым текстом. Поэтому любой подслушавший ваш login и пароль в сети, сможет им воспользоваться чтобы сделать любую гнусность которую он пожелает. Большинство подобных инцендентов наблюдалось на тех компьютерах в сети, которые остались без компетентного администрирования и на них были установлены программы прослушивания сети и сбора паролей. Подобные программы свободно доступны в сети Internet или могут быть написаны компетентным программистом за несколько часов.
Существует масса секретной информации, коммерческие тайны, патенты на изобретения, закрытая информация о ценах, информация о подрядчиках и контрактерах, данные клиентов, личные данные, финансовая информация и т.д. и т.п. И в настоящее время, любой кто имеет доступ к сети (любой компьютер в сети) может подслушать все что передается по сети, без каких-либо ограничений доступа.
Многие компании не представляют что информация так легко может быть извлечена при наличии доступа в сеть. Они полагают что их данные в безопасности потому что никому не известно что информация в сети может быть подслушана или потому что количество передаваемых в сети данных слишком велико. Это не безопасная политика.
1.3 — Какие Операционный системы поддерживаются в OpenSSH?
Несмотря на то что OpenSSH разработан в рамках проекта OpenBSD тем не менее существует масса его портов для других операционных систем. Проект портирования версий OpenSSH возглавляет Damien Miller. Для быстрого обзора портированных версий OpenSSH смотрите: http://www.openssh.com/portable.html. Короткий список других OS’s которые поддерживают OpenSSH, приведен ниже.
- OpenBSD
- NetBSD
- FreeBSD
- AIX
- HP-UX
- IRIX
- Linux
- NeXT
- SCO
- SNI/Reliant Unix
- Solaris
- Digital Unix/Tru64/OSF
- MacOS X
Список производителей которые включают OpenSSH в свои дистрибутивы можно найти на странице www.openssh.com/users.html.
1.4 — Какие соглашения у OpenSSH о copyright(правах), использовании и патентах?
Разработчики OpenSSH приложили много труда и усилий чтобы сохранить этот проект свободным от каких либо патентов или проблем с copyright. Чтобы реализовать это пришлось наложить ограничения для некоторых опций, а именно, для запатентованных алгоритмов.
OpenSSH не поддерживает запатентованные транспортные алгоритмы. В режиме работы SSH1, поддерживаются опции для 3DES и Blowfish. В режиме работы SSH2, можно использовать лишь алгоритмы 3DES, Blowfish, CAST128, Arcfour и AES. Запатентованный алгоритм IDEA не поддерживается.
OpenSSH обеспечивает поддержку обоих протоколов и SSH1, и SSH2.
С тех пор как истекло время ограничения на использование патента RSA, больше не существует ограничений на использование алгоритма RSA в программных продуктах, включая OpenBSD.
1.5 — Где можно получить помощь?
Существует масса мест в Internet где можно получить помощь или консультации, в дополнение к основному вебсайту OpenSSH: http://www.openssh.com, существует много списков рассылки, можете воспользоваться ими. Однако перед тем как задать вопросы в эти списки, предварительно поищити необходимую вам информацию через поиск по архивам этих списков рассылки, чтобы не повторять вопросы на которые уже известен и был дан ответ. Один из списков и архив можно найти по ссылке: theaimsgroup.com.
Более подробную информацию по подписке на OpenSSH и связанные с ним списки рассылок можно найти на странице: www.openssh.com/list.html.
2.0 — Основные Вопросы.
2.1 — Почему ssh/scp открывают соединения по низким портам( sleep 20shopt -s huponexit» в файл /etc/bashrc или в файл ~/.bashrc. В остальных случаях, читайте руководства по вашему SHELL как разрешить послать сигнал HUP активным процессам при выходе.
Источник: www.opennet.ru