Как подключиться по ssh

Содержание:

Как сохранить настройки в программе PuTTY

Все данные, которые вы вводите в настройках программы PuTTY, никак не сохраняются. Поэтому при повторном подключении приходится заново вводить IP адрес сервера, путь к приватному ключу и другие настройки. Чтобы избежать этой рутинной работы, введенные настройки можно сохранять и загружать.

Для этого настройте все параметры подключения в PuTTY и вернитесь на вкладку «Session». Здесь нужно ввести имя сессии и сохранить ее помощью кнопки «Save».

В дальнейшем вам не придется каждый раз вводить одни и те же настройки. Вы сможете просто загружать их с помощью кнопки «Load».

После загрузки ранее сохраненных настроек можно сразу запускать подключение нажатием на кнопку «Open».

Авторизация SSH по ключам

Намного безопаснее, удобнее и правильнее будет настроить ssh авторизацию без пароля. Для этого будет использоваться авторизация по ключу.

Итак, вот инструкция:

  1. Распаковываем архив, открываем PUTTYGEN:

  2. Вводим и выбираем всё как на скриншоте: и ключ длиной и жмём Generate
    Во время генерации ключей водим мышкой по специальному полю под статусной строкой, чтобы пошла генерация ключей (она использует набор из координат мыши)

  3. Теперь нужно заполнить (это пароль для доступа к приватному ключу). Заполнять не обязательно, но его наличие повысит безопасность, так как любой, кто имеет доступ к приватному ключу, сможет с его помощью авторизоваться на сервере по ssh:

  4. Сохраним приватный ключ где-нибудь в надёжном месте — . Назовём его, к примеру,
  5. А вот публичный ключ нужно сохранить на сервере, куда устанавливаем доступ — Назовём его . Авторизуемся по ssh по паролю и переходим в директорию пользователя, под которым будет происходить авторизация.

    Итак, копируем файл в .
    Далее нужно импортировать данные в файл

    ssh-keygen -i -f /root/.ssh/sheensay.ru.pub >> /root/.ssh/authorized_keys

    После можно удалить

  6. Осталось настроить подключение. Я пользуюсь Far Manager в связке с плагином WinSCP.

    Открываем Far Manager, Alt + F1, выбираем , далее Shift + F4 и настроим наше подключение. Допустим, мы сохранили приватный файл в
    При настройке нужно будет указать IP или доменное имя на нём для доступа к серверу, порт, на котором висит SSH, имя пользователя и путь к приватному файлу-ключу

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

Подключение настроено. Если что-то сделали не так, при авторизации появится ошибка , то есть Сервер не принял наш ключ. В этом случае пройдитесь по всем пунктам последовательно и поищите ошибку

Отключить авторизацию по паролю

Теперь, когда всё настроено, совсем не лишним будет отключить авторизацию по паролю. Для этого внесём изменения в конфигурационный файл:

PasswordAuthentication no

Как подключиться к серверу по SSH через PuTTY

Сразу после запуска программы PuTTY на экране появляется окно с настройками. В левой части данного окна расположен список разделов, в правой непосредственно сами настройки, которые относятся к выбранному пользователем разделу. Основными разделами здесь являются:

  • Session – настройки текущего подключения, здесь нужно ввести адрес удаленного компьютера, используемый для подключения порт и тип подключения, также здесь можно сохранять и загружать настройки программы PuTTY.
  • Terminal –настройки терминала, здесь можно настроить поведение терминала, с которым вы будете работать после подключения.
  • Window — настройка внешнего вида терминала, здесь можно указать количество строк и рядов, изменить используемый шрифт, кодировку текста и т. д.
  • Connection — настройка параметров подключения, здесь можно выбрать алгоритм шифрования, указать путь к ключам и изменить другие настройки, которые касаются подключения к удаленному компьютера.

Для того чтобы подключиться к серверу по SSH и начать пользоваться PuTTY достаточно настроек на вкладке «Session». Здесь нужно указать следующие данные:

  • Host Name (or IP address) – Имя компьютера или IP адрес.
  • Port – Порт для подключения (по умолчанию, для SSH это 22).
  • Connection type – Тип подключения (SSH).

После ввода этих данных можно запускать подключения по SSH через PuTTY. Для этого просто нажимаем на кнопку «Open».

Если IP адрес и порт верные, то перед вами появится терминал, в котором нужно будет ввести логин и пароль для доступа к серверу.

Если вы введете правильные данные, то подключение будет успешным и PuTTY предложит добавить ключ сервера в список доверенных. Чтобы подтвердить нажмите на кнопку «Да».

После этого вы сможете начать работать с терминалом сервера с помощью PuTTY.

Вы сможете выполнять команды и получать ответ сервера, так как будто вы реально сидите за этим компьютером.

Как оставить терминал открытым на удаленном хосте

Есть два варианта, как сохранить сессию, когда вы переключаетесь между сетями или хотите на время отключиться:

  1. Используйте Mosh или Eternal TerminalЕсли вам действительно нужно соединение, которое не падает, даже если вы переключаетесь между сетями, используйте Mosh — mobile shell. Mosh — это защищенная оболочка, использующая SSH для инициализации сессии (handshake), после чего переключается на собственный зашифрованный канал. Этот канал очень стабилен. Он может обрабатывать различные ситуации, включая разрывы соединения с интернетом, изменение IP-адреса вашего ноутбука, большие задержки при передаче по сети, и другие. Спасибо магии UDP и протокола синхронизации, используемого Mosh.
    Для использования Mosh его необходимо установить как на вашем сервере, так и на клиенте и открыть порты в диапазоне 60000–61000 для входящего UDP трафика на вашем удаленном хосте. После чего просто наберите для подключения.
    Mosh работает на уровне экранов терминала и нажатий клавиш, и это дает ему множество преимуществ по сравнению с SSH, который передает бинарный поток стандартного ввода-вывода между клиентом и сервером. Если нам нужно синхронизировать только экран терминала и нажатия клавиш, то прерванное соединение можно потом восстановить значительно быстрее. SSH пришлось бы хранить в буфере и пересылать все, что произошло, а Mosh нужно только сохранить нажатия клавиш и синхронизировать последнее состояние терминального окна с клиентом.
  2. Используйте tmux. Если вы хотите подключаться и отключаться, когда вздумается и сохранять ту же самую сессию на удаленном хосте, используйте мультиплексор терминала tmux. Если ваше SSH-соединение отваливается, просто подключитесь снова и наберите , чтобы вернуться в сессию . В нем есть несколько отличных дополнительных возможностей — встроенные табы и панели, такие же как в терминале macOS и возможность расшарить терминал с другим пользователем.
    Некоторые улучшают tmux с помощью Byobu —  пакета, который добавляет множество удобных функций и сочетания клавиш. Byobu поставляется вместе с Ubuntu и его легко установить на macOS через менеджер пакетов Homebrew.

Как пользоваться PuTTY

1. Интерфейс программы

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

Рассмотрим за что отвечают те или иные вкладки программы, чтобы вы ориентировались что и где искать. У нас есть четыре вкладки:

  • Session — отвечает за подключение удаленному серверу, тут мы вводим параметры подключения, порт, адрес, а также можем сохранить все настройки putty, чтобы не настраивать каждый раз заново.
  • Terminal — позволяет включать или отключать возможности терминала;
  • Window — настройка внешнего вида окна, цвет, шрифт, кодировка;
  • Connection — настройка параметров подключения, алгоритма шифрования, сжатия, ключей аутентификации, X11 и других параметров.

Каждая вкладка имеет несколько подразделов, но мы не будем сейчас их трогать, а перейдем сразу к практике и посмотрим как подключиться putty к удаленному узлу.

2. Подключение к удаленному компьютеру PuTTY

Чтобы подключиться к удаленному компьютеру по SSH перейдите на вкладку «Session», здесь, в поле «Host Name» необходимо прописать ip адрес или имя хоста, компьютера, к которому вы хотите подключиться, в поле порт — нужно указать порт, на котором запущен SSH сервер, по умолчанию используется порт 22:

Далее, нажмите кнопку «Open». После этого появится запрос на добавление ключа сервера в список доверенных ключей, нажмите «Да»:

Затем вам будет нужно ввести логин пользователя и пароль

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

Теперь авторизация прошла успешно, и вы можете выполнять нужные действия на сервере:

3. Сохранение сессии PuTTY

Чтобы не вводить каждый раз ip и порт можно сохранить эти данные в виде сессии, для этого пропишите новое имя в поле «Saved Sessions», а затем нажмите кнопку «Save»:

Теперь вы сможете загрузить сохраненную сессию, нажав кнопку «Load».

После того как будет завершена настройка putty и все параметры будут выставлены правильно вы можете сохранить настройки и не вводить их несколько раз.

4. Имя пользователя по умолчанию

Вы можете не вводить имя пользователя каждый раз, для этого перейдите на влкадку «Connection», затем «Data» и в поле «Auto-login Username» пропишите имя пользователя, например, root:

Теперь подключение putty будет выполняться от имени этого пользователя.

5. Авторизация по ключу ssh в PuTTY

Чтобы не вводить каждый раз пароль можно настроить авторизацию по ключу. В Linux такая возможность используется очень широко потому что это удобно. Первым делом необходимо создать ключ. Для этого запустите утилиту PuTTYgen и установите переключатель в положение «SSH-2 RSA» нажмите «Generate»:

Обязательно ключ должен быть SSH-2 RSA, если в главном окне нет, выберите в меню «Key». Подвигайте мышкой, чтобы создать достаточное количество энтропии:

Ключ готов, затем, с помощью кнопок «Save Public Key» и «Save Private Key» сохраните оба ключа.

Далее, откройте PuTTY, перейдите на вкладку «Connection», затем «SSH», затем «Auth»:

Здесь необходимо нажать кнопку «Browse» и добавить недавно сохраненный приватный ключ:

Далее, возвращаемся на вкладку «Session», выбираем наше сохранение и нажимаем «Save» чтобы сохранить настройки. Осталось только отправить наш открытый ключ на сервер. Для этого авторизуйтесь на нем с помощью пароля и открытый ключ вставьте ключ в конец файла /root/.ssh/authorized_keys.

Ключ можно брать прямо из окна PuTTYgen «Public key for pasting» или из файла открытого ключа:

Все, теперь можно выходить и авторизоваться снова. На этот раз подключение по ssh putty будет выполняться с помощью нашего ключа. Не забывайте сохранять настройки сессии, чтобы не выбирать ключ каждый раз. Теперь вы знаете как пользоваться программой putty, рассмотрим еще передачу файлов.

5. Передача файлов через scp в PuTTY

Не все знают, но PuTTY позволяет передавать файлы через ssh также как это делает linux с помощью утилиты scp. Нажмите Win+R, затем пропишите cmd, чтобы запустить командную строку.

Синтаксис утилиты pcsp выглядит следующим образом:

pscp опции путь_файлу имя_пользователя@хост/путь/к/файлу/на/удаленном/хосте

Например, мы можем отправить файл из текущей папки в папку пользователя /root/:

С помощью опции -P можно задать удаленный порт:

А опция load позволяет загрузить сохраенные настройки сессии PuTTY:

Теперь вы знаете как использовать putty для передачи файлов.

Настройка SSH в Ubuntu

С параметрами по умолчанию сервер SSH не очень безопасен поэтому перед тем, как программа будет готова к полноценному использованию ее нужно немного настроить. Все настройки сервера SSH хранятся в конфигурационном файле sshd_config, который находится в папке /etc/ssh.

Перед тем как вносить изменения в этот конфигурационный файл рекомендуется сделать его резервную копию, для этого можете использовать такую команду:

Дальше вы можете перейти к настройке конфигурационного файла:

Первым делом желательно сменить порт, на котором работает ssh, возможный злоумышленник не знал включен ли у вас этот сервис. Найдите в конфигурационном файле строчку Port и замените ее значение на любое число, например, Port 2222:

По умолчанию вход от имени суперпользователя включен, рекомендуется отключить такую возможность. Для этого найдите строчку PermitRootLogin и замените ее значение на no:

Чтобы разрешить аутентификацию по ключу, а не по паролю найдите строку PubkeyAuthentication и убедитесь, что ее значение yes.

Как настроить авторизацию по ключу в SSH читайте здесь. После того как все настройки будут завершены, сохраните изменения нажав :w и перезапустите службу SSH:

Более подробно про настройку и использование различных тонкостей ssh рассказано в статье как использовать ssh.

Если вы изменили порт, то при подключении в клиенте тоже нужно указать новый порт, так как по умолчанию будет использоваться 22, например:

К тому же, если на компьютере установлен и настроен брандмауэр, то в нем тоже нужно разрешить доступ к новому порту ssh, для этого выполните:

Даже если служба ssh находится на порту по умолчанию, его тоже нужно открыть в брандмауэре если вы собираетесь подключаться к компьютеру через интернет:

Настройка ssh Ubuntu 20.04 полностью завершена.

Использование ключа

Ввод пароля для подключения через SSH — раздражающая процедура. У меня почти никогда не получалось ввести его правильно с первого раза. Поэтому я начал искать информацию о том, как подключиться к серверу через SSH без пароля. Простое и безопасное решение — использование ключа. Почему это безопаснее? Потому что пароль можно подобрать. Чтобы исключить такую вероятность, многие пользователи выбирают авторизацию с помощью ключа. 

Суть процедуры в формировании двух ключей: публичного и приватного. Первый копируется на сервер, а второй остается на компьютере пользователя и не передается по сети. В таком случае пароль при подключении не требуется. Когда вы подключаетесь к серверу через SSH, публичный ключ взаимодействует с приватным и открывает доступ к удаленному управлению.

Генерирование ключа и подключение на Windows

Для удобства используем программу PuTTy. Вместе с ней устанавливается утилита PuTTYgen — в ней можно сгенерировать публичный и приватный ключи.

  1. Запустите программу PuTTYgen.
  2. Нажмите на кнопку Gengerate.
  3. Водите курсором мышки по рабочему столу, чтобы сгенерировать случайные значения ключей.
  4. Нажмите на кнопку Save private key, чтобы сохранить на жестком диске приватный ключ. Место хранения может быть любым — его нужно указать в параметрах PuTTY. Сделаем это позже. 
  5. Скопируйте публичный ключ в буфер обмена (Ctrl + C) и закройте генератор ключей.

Теперь нужно перенести публичный ключ на сервер. Запустите программу PuTTY и подключитесь к серверу с помощью пароля. Затем последовательно введите следующие команды:

mkdir ~/.ssh

chmod 0700 ~/.ssh

touch ~/.ssh/authorized_keys

chmod 0644 ~/.ssh/authorized_keys

Эти команды создают на сервере папку и файл для хранения ключей, а также ограничивают к ним доступ — получить его может только владелец.

Следующий шаг — вставка публичного ключа из буфера обмена в файл authorized_keys. Для этого используется команда cat > .ssh/authorized_keys. После ввода команды щелкните по окну терминала правой кнопкой, чтобы вставить скопированный ранее публичный ключ. Для завершения ввода нажмите на сочетание клавиш Ctrl+D.

Вернитесь в настройки PuTTY. Перейдите в раздел Connection — SSH — Auth. Нажмите на кнопку Browse и укажите путь к приватному ключу, который вы ранее сохранили на жестком диске.

Теперь для подключения к серверу через SSH пароль не нужен — достаточно указать логин и IP-адрес сервера.

Генерирование ключа и подключение на Linux и macOS

Теперь посмотрим, как подключиться через SSH ключи на Linux и macOS. 

  1. Запустите терминал на локальном компьютере.
  2. Выполните команду ssh-keygen, чтобы сгенерировать ключи.
  3. Нажмите на Enter, чтобы сохранить ключи.

Генератор предложит также задать кодовую фразу для ключа. Это дополнительная мера безопасности: если кто-то получит доступ к вашей локальной машине, то все равно не сможет подключиться к серверу через SSH. Минус один — вам тоже придется постоянно вводить ключевую фразу. Можно отказаться от этой меры защиты, просто нажав на клавишу Enter. 

На этом процедура создания ключей завершена. Файлы d_rsa (приватный ключ) и id_rsa.pub (публичный ключ) хранятся в папке ~/.ssh/.  Осталось скопировать открытую часть ключа на сервер.

  1. Вернитесь в терминал.
  2. Выполните команду ssh-copy-id root@185.104.114.90, где root — логин для подключения к серверу по SSH, а 185.104.114.90 — IP-адрес или хост сервера.

После выполнения этой команды публичный ключ будет скопирован на сервер. Теперь вы можете подключаться к удаленной машине с помощью логина и IP-адреса — например, ssh root@185.104.114.90. Ключи будут сопоставляться автоматически.

Отключение запроса пароля

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

  1. Подключитесь к удаленному серверу.
  2. Выполните команду sudo nano /etc/ssh/sshd_config. Файл sshd_config откроется во встроенном текстовом редакторе. 
  3. Найдите строку PasswordAuthentication yes и измените ее на PasswordAuthentication no.
  4. Сохраните изменения и перезапустите службу SSH командой sudo service ssh restart.

Авторизация по паролю отключена. Теперь подключиться к серверу можно только с помощью пары ключей.

Что такое SSH?

SSH расшифровывается как Secure Shell и позволяет удаленно управлять компьютером или сервером Linux с другого устройства. Он работает в локальных сетях и Интернете, а это означает, что его можно использовать для управления медиа-сервером на базе Linux в вашем доме или веб-сервером Linux на другом континенте.

Хотя SSH не дает вам доступа к среде рабочего стола удаленного компьютера, он позволяет использовать терминал. После подключения к удаленному компьютеру вы можете использовать его, как если бы он находился прямо перед вами. Только убедитесь, что у вас есть root-доступ.

Обратите внимание, что для Linux доступны и другие решения удаленного доступа. Например, пользователи Ubuntu могут положиться на VNC-совместимый инструмент удаленного рабочего стола Remmina

Чтобы использовать SSH, вам необходимо убедиться, что на удаленном компьютере (сервере) настроен SSH. Кроме того, для вашего локального устройства (клиента) потребуется установка приложения SSH.

Подключение через SSH в Windows

До Windows 10 войти можно была только с помощью дополнительных программ. Например « PuTTY»

Как войти через«PuTTY»:

Для начала нужно скачать программу. После запуска, в открытом окне нужно ввести все нужные данные (IP, логин), после правильного ввода вести пароль. Если пароль из буфера обмена, он может быть не виден на экране, но программа его увидит! После этого можно использовать SSH подключение.

Как войти без доп. программ на Windows

На данном Windows есть встроенный «OpenSSH», активировав его, через «Настройки»-> «Приложения» -> «Управление дополнительными компонентами» -> «OpenSSH Client» далее кнопка «Установить». После установки обязательно нужно перезагрузить компьютер! Далее вход осуществляется, как и в Linux.

Итог

Secure SHell- это удобный, быстрый и безопасный сервер передачи информации от провайдера к персональному компьютеру. Воспользоваться может каждый и не волноваться об том, что все файлы будут в порядке.

Командная строка

Если вы под­клю­чи­тесь к дру­го­му ком­пью­те­ру по SSH, вы не уви­ди­те там рабо­чий стол и окна про­грамм. Вы уви­ди­те чёр­ный экран и стро­ки тек­ста. Это нор­маль­но. Это назы­ва­ет­ся команд­ной стро­кой. Сей­час вы поймёте.

Когда вы рабо­та­е­те за ком­пью­те­ром, вы обыч­но види­те окна, кноп­ки, стра­ни­цы и всё подоб­ное. Это назы­ва­ет­ся гра­фи­че­ским интерфейсом.

Гра­фи­че­ский интер­фейс — это не сами про­грам­мы. Это лишь спо­соб пред­став­ле­ния про­грам­мы. Сама про­грам­ма — это то, что испол­ня­ет­ся внут­ри ком­пью­те­ра: то, что счи­та­ет, копи­ру­ет, обра­ба­ты­ва­ет и так далее. Есть огром­ное коли­че­ство про­грамм без гра­фи­че­ско­го интер­фей­са: напри­мер, веб-сервер Apache — это про­грам­ма. Сер­вер рабо­та­ет на вашем ком­пью­те­ре, зани­ма­ет память, выда­ёт стра­ни­цы куда нуж­но, ведёт свою сер­вер­ную рабо­ту, но у него нет гра­фи­че­ско­го интер­фей­са — нет ника­ко­го окош­ка, на кото­рое вы може­те ска­зать «Это сервер».

Или, напри­мер, ваш бра­у­зер. Если у вас Chrome, то вы види­те окно с веб-страницей. А есть вер­сия Headless Chrome, кото­рая может выплё­вы­вать любые стра­ни­цы в виде кар­ти­нок пря­мо на ваш жёст­кий диск. У это­го «Хро­ма» нет гра­фи­че­ско­го интер­фей­са со стра­ни­цей (но есть неболь­шой интер­фейс для настройки).

С нашей чело­ве­че­ской точ­ки зре­ния интер­фейс — это и есть про­грам­ма. А с точ­ки зре­ния ком­пью­те­ра интер­фейс — это что-то побоч­ное. И опыт­ные про­грам­ми­сты доволь­но часто исполь­зу­ют в рабо­те про­грам­мы, у кото­рых нет гра­фи­че­ско­го интер­фей­са, толь­ко команд­ная строка.

Команд­ная стро­ка — это тек­сто­вый интер­фейс про­грам­мы. Вы вво­ди­те в эту стро­ку коман­ду, про­грам­ма может в ответ что-то вас спро­сить тек­стом, вы ей тек­стом отве­ти­те, и про­грам­ма сде­ла­ет свою рабо­ту. Мы уже стал­ки­ва­лись с команд­ной стро­кой, когда соби­ра­ли своё при­ло­же­ние в элек­троне или объ­яс­ня­ли, как устро­ен интер­нет:

Здесь в команд­ной стро­ке поль­зо­ва­тель maximilyakhov на ком­пью­те­ре iMac-Maxim выпол­нил коман­ду ping для адре­са thecode.media — то есть про­ве­рил, откли­ка­ет­ся ли сер­вер с нашим сай­том. Это вид­но из вто­рой стро­ки. Про­грам­ма Ping ста­ла пока­зы­вать ста­ти­сти­ку: полу­чи­ли паке­ты по 64 бай­та за 79 мс. Поль­зо­ва­тель удо­вле­тво­рил­ся резуль­та­том, вышел из про­грам­мы кла­ви­шей Ctrl+C и полу­чил ито­го­вую ста­ти­сти­ку. Сей­час команд­ная стро­ка гото­ва к новым командам 

Быва­ют и дру­гие интер­фей­сы про­грамм. Напри­мер, может быть голо­со­вой интер­фейс: ком­пью­тер вас слу­ша­ет, интер­пре­ти­ру­ет коман­ды, зада­ёт вам вопро­сы голосом.

Может быть интер­фейс в виде чата. Вме­сто того что­бы давать тек­сто­вые коман­ды в команд­ной стро­ке, вы пише­те коман­ды чат-боту.

Может быть даже физи­че­ский интер­фейс: когда вы игра­е­те в при­став­ку, вы даё­те коман­ду с помо­щью джой­сти­ка или каких-нибудь палок с дат­чи­ка­ми. Когда в вас попа­да­ют вра­ги, джой­сти­ки могут виб­ри­ро­вать — это при­став­ка вам пыта­ет­ся что-то ска­зать. Так что гра­фи­че­ский интер­фейс — это лишь одна из разновидностей.

Динамическое перенаправление портов: используем SSH-сервер в качестве прокси

Также существует «динамическое перенаправление портов», которое работает по тому же принципу что прокси или VPN-сервер. SSH-клиент создаёт SOCKS-прокси, который можно настраивать под собственные приложения. Весь трафик, отправляемый через прокси, будет отправляться через SSH-сервер. Принцип здесь схож с локальным перенаправлением – берётся локальный трафик, отправленный на определённый порт на вашем ПК, и перенаправляется через SSH-соединение на удалённый адрес.

Предположим, что вы используете общедоступную Wi-Fi сеть. Но хочется делать это безопасно. Если у вас есть доступ к SSH-серверу из дома, то можно подключиться к нему и использовать динамическое перенаправление. SSH-клиент создаст SOCKS-прокси на вашем ПК. Весь трафик, отправленный на этот прокси, будет отправляться через подключение к SSH-серверу. Никто из тех, кто использует общедоступную Wi-Fi сеть, не сможет отслеживать ваши перемещения в сети или закрывать доступ к сайтам. С перспективы сайтов, которые посещаете, будет казаться, что вы заходите на них с домашнего ПК.

Или же может понадобиться подключиться к медиа-серверу, находящемуся в вашей домашней сети. В целях безопасности, к интернету подключен только ваш SSH-сервер. При этом вы не разрешаете подключаться к медиа-серверу через интернет. В таком случае можно включить динамическое перенаправление портов, настроить SOCKS-прокси в браузере и затем подключаться к серверам, работающим в домашней сети, через браузер, как будто вы сидите дома.

Например, если медиа-сервер находится по адресу 192.168.1.123 в вашей домашней сети, то можно добавить адрес 192.168.1.123 в любое приложение при помощи SOCKS-прокси и получить доступ к медиа-серверу, как будто вы находитесь внутри домашней сети.

Чтобы воспользоваться динамическим перенаправлением, запустите ssh-команду с аргументом —D:

ssh -D local_port username@server.com

Предположим, что у вас есть доступ к SSH-серверу по адресу ssh.yourhome.com, а ваш логин на SSH-сервере – bob. Нужно использовать динамическое перенаправление для того, чтобы открыть SOCKS-прокси по порту 8888 на текущем ПК. Тогда команда для SSH туннелирования будет выглядеть следующим образом:

ssh -D 8888 bob@ssh.yourhome.com

После этого можно настроить браузер или другое приложение на использование локального IP-адреса (127.0.0.1) и порта 8888. Весь трафик этого приложения будет перенаправляться через туннель:

PuTTYWindowsConnection > SSH > TunnelsDynamicSource Port

Например, если вам нужно настроить SOCKS-прокси на порт 8888, то введите 8888 в качестве порта-источника. После этого нажмите «Add» и затем «Open», чтобы открыть SSH-подключение.

После этого можно настроить приложение на подключение через SOCKS-прокси на вашем локальном ПК (то есть, по IP-адресу 127.0.0.1, который ведёт на ваш локальный ПК) и указать корректный порт для работы:

FirefoxSOCKS-проксиFirefoxFirefoxSSH туннелирование

Туннель будет оставаться активным и открытым до тех пор, пока открыта сессия SSH-соединения. Когда вы завершите SSH-сессию и отключаетесь от сервера, туннель тоже закроется. Чтобы снова открыть туннель, переподключитесь при помощи соответствующей команды или нужной функции в PuTTY.

Безопасное использование проброса ключа (agent forwarding)

Проброс ключа в SSH дает доступ удаленному хосту к вашему локальному SSH-агенту. Когда ваш SSH-клиент использует проброс ключа (обычно активируется опцией ), в соединении присутствуют 2 канала — ваша интерактивная сессия и канал проброса ключа. Локальный SSH-агент создает IPC-сокет, который подключается к удаленному хосту через этот канал. Это опасно, т.к. пользователь с правами уровня root на удаленном хосте имеет доступ к вашему локальному SSH-агенту и потенциально может использовать его для доступа к ресурсам сети от вашего имени. Со стандартным SSH-агентом, который поставляется в составе OpenSSH, вы ни за что не узнаете, что такое произошло. Но если вы используете U2F ключ (или Sekey), вы сможете пресекать любые попытки использования вашего SSH-агента.

Даже с таким ограничением, периодическое использование проброса ключа вполне допустимо. Не используйте этот метод для всех своих подключений. Применяйте, если только вы уверены в его необходимости в конкретных ситуациях.

Навигация и управление файловой системой

Команды, необходимые для перемещения и ориентирования в файловой системе сервера. А еще для перемещения, копирования и удаления файлов. В общем, все, что вы делали бы в файловом менеджере, но через терминал.

cd — отправляет вас в любую папку на выбор. Синтаксис: cd путь до нужной директории. Если хочется на рабочий стол, то пишем: cd ~/Desktop. Вернуться в предыдущую папку? cd-. Перепрыгнуть в home? Просто вводим: cd без аргументов.

ls — отображает директории и файлы вокруг вас. То есть в той папке, где вы находитесь на текущий момент. Но чтобы ею пользоваться, необязательно переходить в конкретную директорию. Ее можно указать заранее. Вот так:

ls ~/Desktop/papka-testovaya

pwd — укажет путь до папки тем, кто заблудился. Если вы находитесь в папке Документы, то вывод pwd будет выглядеть вот так /home/имя пользователя/Documents. И так для любого каталога, в котором вы окажетесь.

file — покажет, что собой представляет файл. Фишка утилиты в том, что она демонстрирует разную информацию для разных типов файлов. К примеру, может дать подробные EXIF-данные для фотографий, включая разрешение и битность изображения.

mv — изначально использовалась для того, чтобы перемещать файлы из одного места в другое. mv ~/Desktop/timeweb.html ~/Documents переносит HTML-документ Timeweb с рабочего стола в документы. Но пользователи приноровились использовать mv для смены имени файлов. mv ~/Desktop/timeweb.html timeweb-2.html оставляет документ на месте, но меняет его название.

cp — создает копию выбранного файла в другом каталоге. cp ~/Documents/timeweb-file.txt /home/Webmaster/Desktop копирует документ с названием timeweb-file.txt на рабочий стол того же пользователя.

dd — управляет разделами. С ее помощью можно делать копии разделов: dd if=/dev/sda of=/dev/sdb. Можно перемещать разделы. Удалять их без возможности восстановления: dd if=/dev/zero of=/dev/sdX (в качестве раздела для «уничтожения» тут указана флешка). Копирование разделов подразумевает их запись на сторонние носители. Например, запись iso-образов на внешние накопители: dd if=~/Desktop/fedora-14.6.iso of=/dev/sdX bs=4M. if здесь — это путь к образу, а of — путь к смонтированному разделу (флешке).

rm — удаляет папки и все, что сможет в них найти. «Уничтожает» все субдиректории, документы, картинки, медиа. Вообще все, без возможности восстановления. Синтаксис:

rm путь до каталога, который надо вычистить вместе со всеми «внутренностями»

mkdir — создает новую папку. Синтаксис: mkdir путь_до каталога,_где_нужно_создать_новую_директорию название_для_этой директории. Если надо сделать на рабочем столе папку Timeweb, то пишем:

mkdir ~/Desktop/Timeweb

rmdir — удаляет директории. Не имеет права трогать их содержимое, поэтому отзовется ошибкой, если в удаляемой папке найдутся еще какие-то элементы. Перед использованием rmdir объект надо очистить.

wget — скачивает файл из переданной ссылки. Больше ничего не умеет. Простой текстовый менеджер загрузок. Работает так – если мы хотим загрузить скриншот панели управления Timeweb с официального сайта, то введем в терминал: wget https://timeweb.com/upload/resize_cache/iblock/b56/400_400_2/xscreen_3.jpg.pagespeed.ic.O4a5jdlo5A.jpg

zip — архивирует один или несколько файлов один файл в формате .zip. Синтаксис: zip название архива.zip путь до файла, который надо упаковать. К примеру:

zip noviy-archive.zip /home/me/soderzhimoe-archiva.txt

unzip — вытаскивает содержимое архива наружу. Работает по тому же принципу: сначала команда, потом путь до архива, который надо распаковать. Еще можно добавить опцию -d, чтобы удалить файлы из архива по завершении распаковки.

find — ищет файлы и папки по всей файловой системе. Умеет находить их по названию и по типу, но это зависит от выставленных опций. find -type d -name Timeweb будет искать только директории с именем Timeweb.

mount — монтирует образ или раздел диска. Синтаксис:

mount путь до раздела, что нужно смонтировать

unmount — «демонтирует» образ или указанный раздел. Синтаксис:

unmount путь до раздела, что нужно отмонтировать
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector