- How to access and modify a SSH file on mac?
- 2 Answers 2
- Using an SSH Config File
- Browse by products and services
- Grid Hosting
- Legacy DV Developer Hosting
- Legacy Managed WordPress
- Overview
- Requirements
- Instructions
- 🔐 Как настроить файл конфигурации SSH в macOS для упрощения подключения к серверам
- Что вам понадобится
- Как создать файл конфигурации
- Файл конфигурации SSH
- Using the SSH Config File
- Это руководство охватывает основы файла конфигурации клиента SSH и объясняет некоторые из наиболее распространенных параметров конфигурации.
- Расположение файла конфигурации SSH
- Структура и шаблоны файлов SSH Config
- Пример файла конфигурации SSH
- Пример общего файла конфигурации SSH
- Переопределить опцию файла конфигурации SSH
- Вывод
- Как создать ssh-соединение для терминала в Mac OS X?
- Создать файл .command
- Создайте псевдонимы для вашей оболочки
How to access and modify a SSH file on mac?
I’m trying to setup SSH on my computer but not sure how to access the
/.ssh/config file. From github’s website they mention this file has to be modified but I’m not sure where its located or how to modify it.
If you’re using macOS Sierra 10.12.2 or later, you will need to modify your
/.ssh/config file to automatically load keys into the ssh-agent and store passphrases in your keychain.
always refers to a user’s «home directory» on all unixoid systems and .ssh is a hidden folder in there but can be accessed normally via the command line. So you want something like /home/ /.ssh/config .
2 Answers 2
Start Terminal and create the
/.ssh directory if it doesn’t exist:
Now go into the directory:
Now open the file config with the default editor:
If it says that file doesn’t exist, create it with:
and try opening again:
When you edit the file, make sure it is «Plain Text» using the menu at the top of the screen and clicking Format->Make Plain Text.
Set the permissions as instructed in your tutorial.
To locate .ssh in High Sierra, and possibly even up to the latest macOS, do the following:
Navigate to your boot disk in finder. usually Macintosh HD, disk1, or whatever it’s named.
From there, hold down Shift Cmd . . This will reveal hidden files, and the goal at this point is to simply do that. If this command doesn’t work for you, find out if there are any new commands that do that for your macOS version. For me, on High Sierra, this command works perfectly.
After that, grey files should appear. Click on the users folder, then click on your user, whatever you named it. Maybe you named it, Tom, Jake, or whatever, but your user should be in this users folder.
After clicking it, scroll up until you see the folder named .ssh . It should also be greyed out because it’s hidden.
If you are not able to find it, then to make sure that you don’t have it and you are just not a very good searcher, go to your terminal app and run the following command: cd .ssh . This command will immediately bring you into the folder if it exists, and if you want to add stuff to it manually, I advise against it for now.
If you do the above command and it gives you some kind of error such as no such directory or something like that, it means you don’t have that folder for real.
There are other things you can do to find out for sure if you even have ssh capacity on your computer.
Navigate back to your disk
Along side the users folder, there should another folder named etc . This folder should be greyed out.
Click it. Once you are there, you should have an ssh folder named ssh . Click it, and it should contain three folders: moduli , ssh_config , and sshd_config . If it has more, it’s fine, but it must have these three folders.
If you don’t find these folders or even the ssh folder, then you probably don’t have ssh capacity, or maybe these folders are located somewhere else. To make sure, I would do a search in Finder for these two folders, .ssh or ssh .
I mentioned that you shouldn’t try to edit any of these folders or files without knowing exactly what you are doing and what it will do because ssh will literally create new folders itself. When you generate a new connection, ssh will add that into another file named know_hosts under the .ssh folder. If you modify these names without knowing what they do, you could ruin your capacity to even create new connections, and such.
Anyway, research this issue further to be certain. And this is all I know about ssh on macOS High Sierra.
Источник
Using an SSH Config File
Browse by products and services
Grid Hosting
Legacy DV Developer Hosting
Legacy Managed WordPress
- Applies to: All Service Types
- Difficulty: Hard
- Time Needed: 10
- Tools Required: SSH, vi knowledge
Overview
By creating a local configuration file for SSH, you can create shortcuts for servers you frequently access, in addition to configuring more advanced options. This article will demonstrate how to create a shortcut to your DV server, including how to keep your connection active.
Requirements
This article has the following dependencies:
- Please make sure you have a basic understanding of SSH and have configured access for the root user or a domain user. See Connecting via SSH to your server for assistance.
- example.com is used as an example. Please be sure to replace this text with the proper information for your site or server.
- This article assumes that you are using a Unix operating system, such as Mac OS X or Ubuntu. We will use OS X as our example. Please modify as needed for your environment.
This article is provided as a courtesy. Installing, configuring, and troubleshooting third-party applications is outside the scope of support provided by (mt) Media Temple. Please take a moment to review the Statement of Support.
Instructions
1. Launch the terminal application on your local computer and create your config file in your home directory:
TIP:
On OS X, this is located at /Applications/Utilities/Terminal.app. Consider dragging this application into your Dock for convenience.
NOTE:
Your .ssh directory is automatically created when you use the ssh command for the first time. If you have never used ssh before under this user account please create the directory first using:
2. Edit the file using vi or any Unix text editor you are comfortable with. We will use vi:
3. There are many options for your config file. Below is an example entry for a shortcut to your DV server:
4. Now that you have your shortcut created, you can add even more options directly below these entries. For instance, maybe you want to make sure your session «stays alive» while you step away from your keyboard for a bit. The following example will refresh your connection every 30 seconds for a maximum of one hour:
5. Perhaps you have both a Grid and a DV service with us. Here is an example file showing multiple hosts:
Источник
🔐 Как настроить файл конфигурации SSH в macOS для упрощения подключения к серверам
Пока ваши имена пользователей совпадают на обоих концах, все в порядке, но если ваши имена пользователей не совпадают, эта команда может выглядеть так:
Используя файл конфигурации SSH, вы можете настроить SSH-соединения таким образом, чтобы вы могли выполнить команду:
Как это сделать на macOS?
Давайте рассмотрим это на примерах.
Что вам понадобится
Единственное, что вам понадобится, это MacBook или iMac, который подключается по SSH к нескольким удаленными серверам.
Имея все наготове, давайте сделаем это возможным.
Как создать файл конфигурации
Откройте приложение терминала macOS.
Как только он откроется, перейдите в свой пользовательский каталог SSH с помощью команды:
В этом каталоге создайте новый файл с помощью команды:
Эта конфигурация будет выглядеть так:
Если вы не используете аутентификацию SSH по ключам (что вам следует), вам необходимо удалить строку IdentityFile.
Сохраните и закройте файл.
Чтобы подключиться по SSH к нашему серверу Nextcloud, вам нужно всего лишь ввести команду:
Вы можете создать в этом файле столько конфигураций, сколько вам нужно (по одной для каждого сервера ), каждый с разными параметрами.
Просто убедитесь, что вы включили как минимум параметры Host и Hostname.
Это значительно упрощает удаленный доступ к этим серверам с ноутбука или настольного компьютера Apple.
Допустим, вы используете одну и ту же учетную запись на всех серверах центра обработки данных по схеме IP-адресов 192.168.1.x.
Вы можете настроить это в верхней части файла конфигурации с помощью двух простых строк:
Где USERNAME – пользователь на удаленных машинах.
Затем вы можете создать каждую запись конфигурации хоста (ниже), исключив опцию User, например:
Источник
Файл конфигурации SSH
Using the SSH Config File
Это руководство охватывает основы файла конфигурации клиента SSH и объясняет некоторые из наиболее распространенных параметров конфигурации.
Если вы регулярно подключаетесь к нескольким удаленным системам через SSH, вы обнаружите, что запомнить все удаленные IP-адреса, разные имена пользователей, нестандартные порты и различные параметры командной строки сложно, если не невозможно.
Один из вариантов — создать псевдоним bash для каждого подключения к удаленному серверу. Однако есть другое, гораздо лучшее и более простое решение этой проблемы. OpenSSH позволяет вам настроить файл конфигурации для каждого пользователя, где вы можете хранить различные параметры SSH для каждого удаленного компьютера, к которому вы подключаетесь.
Мы предполагаем, что вы используете систему Linux или macOS с установленным клиентом OpenSSH.
Расположение файла конфигурации SSH
Файл конфигурации OpenSSH на стороне клиента имеет имя config и хранится в .ssh каталоге в домашнем каталоге пользователя.
/.ssh каталог создается автоматически, когда пользователь запускает ssh команду в первый раз. Если каталог не существует в вашей системе, создайте его с помощью команды ниже:
По умолчанию файл конфигурации SSH может не существовать, поэтому вам может потребоваться создать его с помощью сенсорной команды :
Этот файл должен быть доступен для чтения и записи только пользователю и недоступен для других:
Структура и шаблоны файлов SSH Config
Файл конфигурации SSH имеет следующую структуру:
Содержимое файла конфигурации клиента SSH организовано в разделы (разделы). Каждый раздел начинается с Host директивы и содержит конкретные параметры SSH, которые используются при установлении соединения с удаленным сервером SSH.
Отступы не требуются, но рекомендуется, поскольку они облегчают чтение файла.
Host Директива может содержать один шаблон или разделенных пробелами список шаблонов. Каждый шаблон может содержать ноль или более непробельных символов или один из следующих спецификаторов шаблона:
- * — Соответствует нулю или более символов. Например, Host * сопоставляет все узлы, а 192.168.0.* сопоставляет узлы в 192.168.0.0/24 подсети.
- ? — соответствует ровно одному персонажу. Шаблон, Host 10.10.0.? соответствует всем хостам в 10.10.0.3 диапазоне.
- ! — При использовании в начале паттерна он отменяет совпадение. Например, Host 10.10.0.* !10.10.0.5 соответствует любому хосту в 10.10.0.0/24 подсети, кроме 10.10.0.5 .
Клиент SSH считывает раздел файла конфигурации по разделу, и, если совпадают несколько шаблонов, параметры из первого соответствующего раздела имеют приоритет. Поэтому в начале файла должны быть даны более специфичные для хоста объявления, а в конце файла — более общие переопределения.
Вы можете найти полный список доступных опций ssh, набрав man ssh_config в своем терминале или посетив страницу справки ssh_config .
Файл конфигурации SSH также читается другими программами , такими как scp , sftp и rsync .
Пример файла конфигурации SSH
Теперь, когда мы рассмотрели основы файла конфигурации SSH, давайте рассмотрим следующий пример.
Обычно при подключении к удаленному серверу через SSH вы указываете имя удаленного пользователя, имя хоста и порт. Например, чтобы войти в систему под именем пользователя с именем john хоста, вызываемого через dev.example.com порт 2322 из командной строки, введите:
Чтобы подключиться к серверу, используя те же параметры, что и в приведенной выше команде, просто набрав ssh dev , поместите в «
/.ssh/config файл следующие строки :
Теперь, когда вы ssh dev печатаете, клиент ssh будет читать файл конфигурации и использовать сведения о соединении, которые указаны для dev хоста:
Пример общего файла конфигурации SSH
Этот пример дает более подробную информацию о шаблонах хостов и приоритетах опций.
Давайте возьмем следующий пример файла:
Когда вы ssh targaryen печатаете, клиент ssh читает файл и применяет параметры из первого совпадения, которое есть Host targaryen . Затем он проверяет следующие строфы один за другим на соответствие шаблону. Следующий соответствующий Host * !martell (это означает, что все хосты, кроме martell ), и он будет применять параметр подключения из этого раздела. Последнее определение Host * также совпадает, но клиент ssh выберет только Compression опцию, потому что эта User опция уже определена в разделе Host targaryen .
Полный список параметров, используемых при вводе, ssh targaryen выглядит следующим образом:
При работе ssh tyrell в соответствующие структуры хозяева: Host tyrell , Host *ell , Host * !martell и Host * . Варианты, используемые в этом случае:
Если вы бежите ssh martell , шаблоны соответствия хозяева: Host martell , Host *ell и Host * . Варианты, используемые в этом случае:
Для всех других соединений, клиент SSH будет использовать параметры , указанные в Host * !martell и Host * разделах.
Переопределить опцию файла конфигурации SSH
Клиент ssh считывает свою конфигурацию в следующем порядке приоритета:
- Параметры, указанные в командной строке.
- Параметры, определенные в
/.ssh/config .
Если вы хотите переопределить один параметр, вы можете указать его в командной строке. Например, если у вас есть следующее определение:
и вы хотите использовать все остальные параметры, кроме как для подключения в качестве пользователя, root а не john просто указать пользователя в командной строке:
Опция -F ( configfile ) позволяет вам указать альтернативный файл конфигурации для каждого пользователя.
Чтобы указать ssh клиенту игнорировать все параметры, указанные в файле конфигурации ssh, используйте:
Вывод
Мы показали, как настроить пользовательский конфигурационный файл ssh. Вы также можете настроить аутентификацию на основе ключей SSH и подключаться к серверам Linux без ввода пароля.
По умолчанию SSH прослушивает порт 22. Изменение порта SSH по умолчанию добавляет дополнительный уровень безопасности вашему серверу, снижая риск автоматических атак.
Источник
Как создать ssh-соединение для терминала в Mac OS X?
Отстойно каждый раз открывать Терминал и писать полную команду SSH. Как создать ярлык терминала SSH-подключения в Mac OS X 10.6.8 (Snow Leopard)?
У меня также есть собственный порт для подключения.
Наиболее * NIX-y ответом является использование возможностей SSH в ваших интересах.
Создайте файл с именем config in
/.ssh/ (папка с именем .ssh в вашей домашней папке). Добавьте запись для каждого компьютера, к которому вы хотите подключиться, например:
- HostName может быть либо IP-адрес, либо фактическое имя хоста.
- Port не является обязательным, если используется порт SSH по умолчанию
- IdentityFile не является обязательным, если не используется ключ.
Затем, чтобы подключиться, просто введите
Если вы используете аутентификацию на основе ключей и сохраняете пароль в цепочке для ключей, вам даже не нужно будет вводить пароль.
Кроме того, вы можете создать файл .command (простой текстовый файл с расширением .command), содержащий командную строку, которую вы используете для подключения к серверу ( ssh compy или ssh -i
/.ssh/my_rsa_key -p 90 sidney@98.256.211.12 ). Он откроется в Терминале и запустит эту команду.
Вы также можете использовать New Remote Connection… пункт меню в терминале для подключения. Просто добавьте свой хост под SSH, нажав + кнопку в правом столбце.
У вас есть пара вариантов, о которых я могу подумать:
Создать файл .command
В вашем любимом текстовом редакторе создайте и сохраните обычный текстовый файл с помощью команды ssh, например.
Назовите файл WHATEVERYOUWANT.command . Затем вам нужно установить .command файл с привилегиями выполнения ( chmod 755 /PATH/TO/WHATEVERYOUWANT.command ), но теперь у вас есть файл, который при двойном щелчке откроет Терминал и выполнит эту команду.
Создайте псевдонимы для вашей оболочки
Предполагая, что вы используете bash (оболочка по умолчанию в Mac OS X), вы можете добавить псевдонимы .bashrc в свою домашнюю папку.
например. alias sshserver=’ssh -p 23 admin@server.example.com’
Вы можете найти больше об псевдонимах в [Wikipedia] ( http://en.wikipedia.org/wiki/Alias_(command) или читая документацию.
Есть много способов сделать это. Вот что я делаю:
Открыть настройки терминала
Дублируйте свой профиль на вкладке Настройки со значком шестеренки. Это изменит ваш файл настроек по умолчанию, поэтому измените ваш старый по умолчанию обратно на тот, который был до дублирования.
В ваших новых пользовательских настройках нажмите Тип оболочки в вашей ssh-команде в разделе «Выполнить команду при запуске».
Переименуйте новую настройку из Custom в любую, какую вы хотите.
Теперь вы можете начать сеанс из элементов меню «Новое окно» или «Новая вкладка», и, конечно, сочетание клавиш можно назначить в разделе «Клавиатура и мышь» в «Системных настройках».
Вы можете создать AppleScript, который будет запускать команду для вас:
Чтобы быстро открыть ssh-соединение практически из любого места на вашем Mac, сделайте следующее:
- Откройте TextEdit и введите строку подключения в виде: ssh://user@host.com
- Выделите всю строку и перетащите ее на рабочий стол. Результатом будет *.inetloc файл.
- Переместите файл в любую папку, которая вам нравится. Я сделал одно имя,
/connections которое содержит все мои *.inetloc файлы. Вы можете переименовать этот файл так, как вам нравится, и даже изменить его значок.
Для тех, кто использует закрытый ключ со своим ssh и хочет использовать метод
/ .ssh / config, вы можете добавить атрибут «IdentityFile» на ваш хост, а затем путь к ключу. То есть:
Я бы добавил этот бит в качестве комментария к одному из ответов, но моя репутация все еще низка, и мне не разрешено это делать.
Если вам нужен файл, который вы можете открыть для запуска сеанса, вы можете легко создать .inetloc. В TextEdit введите URL-адрес SSH для вашего хоста, например:
TextEdit распознает это как URL. Перетащите URL-адрес на рабочий стол, и он создаст .inetloc следующим образом:
Затем вы можете поместить этот файл в любое место, например, в док-станцию, или открыть его с помощью средства запуска, такого как Quicksilver.
Я бы порекомендовал плагин SSH для Quicksilver, но последняя версия, которую я могу найти, v.84, дает сбой QS новее, чем β54 (3815).
Если вы используете Quicksilver, есть отличная надстройка под названием RemoteHosts, которая автоматически сканирует файл
/ .hosts или даже ваш файл
/ .ssh / known_hosts для автоматического заполнения.
Подключение к новому хосту так же быстро, как открыть Quicksilver (CMD-Space), а затем набрать достаточно символов хоста, чтобы быть уникальным, и, наконец, нажать Enter.
Если часть, которая вам не подходит, набирает длинную и сложную команду ssh, но вы не возражаете против открытия терминала, и по какой-то причине вы не хотите использовать какой-либо из предыдущих подходов к ответам, тогда вы также можете использовать псевдонимы или функции. Добавьте что-то подобное в dotfile оболочки (.profile или .bash_profile или .bashrc или .cshrc или .zshrc или что-то еще):
Единственное преимущество, которое я вижу перед другими подходами, состоит в том, что (по крайней мере, в zsh, и я думаю, что bash) вы можете использовать завершение команды, чтобы увидеть все ваши серверы для подключения. Например, допустим, у вас есть 25 различных серверов, к которым вы подключаетесь, и вы не хотите запоминать все имена / псевдонимы, которые вы им дали, в файле .ssh / config. Если все псевдонимы начинаются с одного и того же, например «connect.», Вы просто набираете в командной строке connect. [TAB], и вы увидите все возможные варианты завершения. (Отказ от ответственности: вам может потребоваться выполнить некоторые настройки оболочки, чтобы это работало, но я считаю, что это будет работать по умолчанию в zsh и, вероятно, в bash.)
Если часть, которая вам не подходит, это открытие терминала, тогда вы можете попробовать использовать что-то вроде DuckBill , хотя единственными причинами, по которым я могу подумать о запуске ssh OUTSIDE of Terminal, может быть запуск программ сервера X Windows или туннель ssh.
Вы можете создать файл в вашем локальном каталоге bin
Со следующим содержанием:
Сделайте это исполняемым
Который затем вы можете позвонить с терминала, используя
И затем вы создаете задачу автоматизатора, чтобы открыть ее
Вы также можете создать ярлык из панели запуска или горячей клавиши на клавиатуре
Launcher: перетащите иконку из автоматического сохранения в док-панель
Источник