Если вы запускаете один или несколько удаленных серверов, вы обычно проводите время, постоянно входя в систему в течение дня.
Но так быть не должно. Пришло время узнать, как эффективно входить в систему через SSH, используя только псевдоним, передавать отдельные файлы или каталоги, выполнять удаленные команды SSH и легко монтировать удаленные серверы на локальные каталоги.
Файл конфигурации SSH
Одна огромная экономия времени - это файл конфигурации SSH, расположенный по адресу ~ / .ssh / config. Начните с создания каталога для хранения всех ключей SSH, которые вы используете для входа на серверы, с помощью команды:
mkdir -m 0600 $ ГЛАВНАЯ / .ssh_keys
Теперь скопируйте все файлы ключей SSH в этот каталог (например, clienta.pem, clientb.pem и т. д.). Затем откройте ~ / .ssh / config файл в текстовом редакторе, выполнив команду:
нано ~ / .ssh / config
Ниже приведен пример записи, которая установит SSH соединение с удаленным сервером:
Требуется удаленный доступ к вашему компьютеру или серверу Linux? Вот как установить и настроить SSH в Linux, Windows и мобильных устройствах.
хост-клиент
имя хоста 124.58.2276.80
пользователь ubuntu
IdentityFile ~ / .ssh_keys / clienta.pem
Добавьте части строк, как показано выше, в ~ / .ssh / config файл, по одному для каждого желаемого сервера. Затем сохраните и закройте файл, нажав Ctrl + X и следуйте подсказке. После сохранения вы можете войти на любой сервер через SSH из любого каталога в терминале с помощью простой команды:
ssh clienta
Это мгновенно зарегистрирует вас на сервере с информацией под clienta хост, указанный вами в ~ / .ssh / config файл.
Передача файлов с помощью Scp / Rcp
Без создания постоянного сеанса входа в систему вы можете легко загружать отдельные файлы или каталоги на удаленный сервер с помощью scp команда, например:
scp report.pdf clienta: ~ /
Приведенная выше команда загрузит файл report.pdf с вашего локального компьютера в домашний каталог clienta сервер, который вы определили в предыдущем разделе. Вы можете загружать файлы в каталог, отличный от домашнего, например:
scp about.html clienta: / home / clienta / public_html
Вышеупомянутый файл about.html будет загружен в /home/client/public_html каталог на удаленном clienta сервер. Также можно загружать целые каталоги, используя -р такой вариант, как:
scp -r Документы clienta: ~ / docs
Это загрузит весь ~ / Документы каталог с локального компьютера в ~ / документы каталог удаленного сервера.
Скачивание файлов
Точно так же вы можете загружать файлы или каталоги на свой локальный компьютер без создания постоянного сеанса входа в систему, используя rcp команда, такая как:
rcp clienta: ~ / public_html / about.html myproject / about.html
Вышеуказанное загрузит public_html / about.html файл с пульта clienta сервер и поместите его в проекты / about.html файл на вашем локальном компьютере.
Выполнение удаленных команд SSH
Еще один быстрый совет: вы можете выполнить одиночный Команды Linux на удаленном сервере без постоянного сеанса входа в систему, например:
ssh clienta ls
Вышеупомянутое выполнит ls на удаленном сервере clienta> и перечислить все файлы / каталоги, не оставляя вас на сервере. Например, если вы хотите перезапустить сервер, вы можете использовать:
ssh clienta / sbin / shutdown -rf сейчас
Каталог Local / bin
Давайте расширим это, позволив легко монтировать на удаленные серверы, создав каталог / bin /, который является локальным для нашей учетной записи пользователя. Откройте терминал на своем компьютере и создайте каталог / bin /, выполнив команду:
mkdir -m 0755 ~ / bin
Затем откройте ~ / .profile файл в Текстовый редактор командой:
nano $ HOME / .profile
Прокрутите вниз до самого низа файла и добавьте следующие строки, скопировав их в буфер обмена, а затем в терминале, нажав Ctrl + Shift + V:
если [-d "$ HOME / bin"]; тогда
PATH = "$ HOME / bin: $ PATH"
фи
Сохраните и закройте файл, нажав Ctrl + X, и следуйте подсказке. Это спасет .профиль файл, который проверит вновь созданный каталог local / bin / на наличие любых команд, которые вы пытаетесь запустить.
Добавление команд удаленного монтирования
Сначала проверьте и посмотрите, действительно ли sshfs устанавливается на ваш компьютер с помощью команды:
sshfs --version
Если это распечатает текущую версию sshfs, тогда все готово. В противном случае, если вы получите ошибку «команда не найдена», вы можете установить sshfs с помощью следующей команды:
sudo apt-get -y установить sshfs
Теперь создайте каталог / mnt /, который будет содержать все подключенные каталоги к нашим удаленным серверам. В терминале запустите такие команды, как:
mkdir -m 0755 ~ / mnt
mkdir -m 0755 ~ / mnt / clienta
mkdir -m 0755 ~ / mnt / clientb
Продолжайте создавать по одному подкаталогу для каждого удаленного сервера, к которому вы потенциально можете подключиться. Затем давайте создадим команды оболочки, которые мы будем запускать, и, например, для clienta сервер открывает файл, выполнив в терминале следующую команду:
нано ~ / bin / mount_clienta
При необходимости измените строку ниже, указав правильную информацию о сервере, затем скопируйте и вставьте ее в пустой текстовый редактор в терминале, нажав Ctrl + Shift + V:
#! / bin / bash
sshfs -o IdentityFile = ~ / .ssh_keys / clienta.pem [email protected]: / var / www ~ / mnt / clienta
Сохраните и закройте файл, нажав Ctrl + X, и следуйте инструкциям, чтобы закрыть файл. Наконец, измените права доступа к файлу, чтобы он стал исполняемым, выполнив команду:
chmod 0755 ~ / bin / mount_clienta
Теперь каждый раз, когда вам нужно подключиться к клиента удаленный сервер для передачи файлов в / из него, из любого каталога в терминале вы можете просто запустить команду:
mount_clienta
Каталог на вашем локальном компьютере по адресу ~ / mnt / clienta теперь будет установлен на /var/www каталог удаленного сервера. Вы можете начать копирование файлов в каталог и из него так же, как и в любой локальный каталог, и необходимые операции будут выполняться на удаленном сервере.
Более эффективное управление подключением
Надеюсь, приведенные выше советы помогли упростить и повысить эффективность управления вашими подключениями к удаленным серверам. В этой статье вы узнали все о ~ / .ssh / config файл, позволяющий вам входить в систему через SSH только с псевдонимом, передавать отдельные файлы / каталоги, выполнять удаленные команды SSH и как легко монтировать локальный каталог на удаленные серверы.
Резервное копирование с помощью rsync - мощный способ самостоятельного управления локальными файлами. Вот все, что вам нужно знать.
- Linux
- Удаленный доступ
- Linux
Подписывайтесь на нашу новостную рассылку
Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!
Еще один шаг…!
Пожалуйста, подтвердите свой адрес электронной почты в электронном письме, которое мы вам только что отправили.