- Руководство: SSH в Терминале Windows Tutorial: SSH in Windows Terminal
- Создание профиля Create a profile
- Указание начального каталога Specify starting directory
- Использование встроенного SSH клиента в Windows 10
- Установка клиента OpenSSH в Windows 10
- Как использовать SSH клиенте в Windows 10?
- SCP: копирование файлов из/в Windows через SSH
- Using SSH on Windows
- Installing OpenSSH On Windows 10
- Using SSH on Windows 10 To Connect To A Server
- Using SSH On Windows 10 With Secure Shell App On Chrome
- Выполнение команды SSH Run SSH Command
- Настройка действия «Запуск команды SSH» Configuring the Run SSH Command Activity
- Сведения Details
- Продвинутый уровень Advanced
- Опубликованные данные Published Data
- Следующие шаги Next steps
Руководство: SSH в Терминале Windows Tutorial: SSH in Windows Terminal
В Windows 10 встроен клиент SSH, который можно использовать в Терминале Windows. Windows 10 has a built-in SSH client that you can use in Windows Terminal.
В этом руководстве содержатся сведения о настройке профиля в Терминале Windows, использующем SSH. In this tutorial, you’ll learn how to set up a profile in Windows Terminal that uses SSH.
Создание профиля Create a profile
Вы можете запустить сеанс SSH в командной строке, выполнив ssh user@machine . После этого вам будет предложено ввести пароль. You can start an SSH session in your command prompt by executing ssh user@machine and you will be prompted to enter your password. Вы можете создать профиль Терминала Windows, выполняющий этот процесс при запуске, добавив параметр commandline в профиль в файле settings.json file. You can create a Windows Terminal profile that does this on startup by adding the commandline setting to a profile in your settings.json file.
Указание начального каталога Specify starting directory
Чтобы указать начальный каталог для сеанса SSH, вызываемого с помощью Терминала Windows, можно использовать следующую команду: To specify the starting directory for a ssh session invoked by Windows Terminal, you can use this command:
Флаг -t приводит к выделению псевдотерминала. The -t flag forces pseudo-terminal allocation. Эту возможность можно использовать для выполнения произвольных интерактивных программ на удаленном компьютере, например при реализации служб меню. This can be used to execute arbitrary screen-based programs on a remote machine, e.g. when implementing menu services. Вам потребуется использовать экранированные двойные кавычки, так как производные оболочки Bourne shell не выполняют дополнительную обработку строки в одинарных кавычках. You will need to use escaped double quotes as bourne shell derivatives don’t do any additional parsing for a string in single quotes.
Дополнительная информация: For more information, see:
Использование встроенного SSH клиента в Windows 10
В Windows 10 и Windows Server 2019 появился встроенный SSH клиент, который вы можете использовать для подключения к *Nix серверам, ESXi хостам и другим устройствам по защищенному протоколу, вместо Putty, MTPuTTY или других сторонних SSH клиентов. Встроенный SSH клиент Windows основан на порте OpenSSH и предустановлен в ОС, начиная с Windows 10 1809.
Установка клиента OpenSSH в Windows 10
Клиент OpenSSH входит в состав Features on Demand Windows 10 (как и RSAT). Клиент SSH установлен по умолчанию в Windows Server 2019 и Windows 10 1809 и более новых билдах.
Проверьте, что SSH клиент установлен:
Get-WindowsCapability -Online | ? Name -like ‘OpenSSH.Client*’
В нашем примере клиент OpenSSH установлен (статус: State: Installed).
Если SSH клиент отсутствует (State: Not Present), его можно установить:
- С помощью команды PowerShell: Add-WindowsCapability -Online -Name OpenSSH.Client*
- С помощью DISM: dism /Online /Add-Capability /CapabilityName:OpenSSH.Client
0.0.1.0
]Бинарные файлы OpenSSH находятся в каталоге c:\windows\system32\OpenSSH\.
- ssh.exe – это исполняемый файл клиента SSH;
- scp.exe – утилита для копирования файлов в SSH сессии;
- ssh-keygen.exe – утилита для генерации ключей аутентификации;
- ssh-agent.exe – используется для управления ключами;
- ssh-add.exe – добавление ключа в базу ssh-агента.
Как использовать SSH клиенте в Windows 10?
Чтобы запустить SSH клиент, запустите командную строку PowerShell или cmd.exe . Выведите доступные параметры и синтаксис утилиты ssh.exe, набрав команду:
ssh
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-E log_file] [-e escape_char]
[-F configfile] [-I pkcs11] [-i identity_file]
[-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec]
[-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address]
[-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]]
destination [command]
Для подключения к удаленному серверу по SSH используется команда:
Если SSH сервер запущен на нестандартном порту, отличном от TCP/22, можно указать номер порта:
ssh username@host -p port
Например, чтобы подключиться к Linux хосту с IP адресом 192.168.1.202 под root, выполните:
При первом подключении появится запрос на добавление ключа хоста в доверенные, наберите yes -> Enter (при этом отпечаток ключа хоста добавляется в файл C:\Users\username\.ssh\known_hosts).
Затем появится запрос пароля указанной учетной записи, укажите пароль root, после чего должна открытся консоль удаленного Linux сервера (в моем примере на удаленном сервере установлен CentOS 8).
Если вы используете SSH аутентификацию по RSA ключам (см. пример с настройкой SSH аутентификации по ключам в Windows), вы можете указать путь к файлу с закрытым ключом в клиенте SSH так:
ssh root@192.168.1.92 -i «C:\Users\username\.ssh\id_rsa»
Также вы можете добавить ваш закрытый ключ в SSH-Agent. Сначала нужно включить службу ssh-agent и настроить ее автозапуск:
set-service ssh-agent StartupType ‘Automatic’
Start-Service ssh-agent
Добавим ваш закрытый ключ в базу ssh-agent:
Теперь вы можете подключиться к серверу по SSH без указания пути к RSA ключу, он будет использоваться автоматически. Пароль для подключения не запрашивается (если только вы не защитили ваш RSA ключ отдельным паролем):
Еще несколько полезных аргументов SSH:
- -C – сжимать трафик между клиентом и сервером (полезно на медленных и нестабильных подключениях);
- -v – вывод подробной информации обо всех действия клиента ssh;
- -R / -L – можно использовать для проброса портов через SSH туннель.
SCP: копирование файлов из/в Windows через SSH
С помощью утилиты scp.exe, которая входит в состав пакета клиента SSH, вы можете скопировать файл с вашего компьютера на SSH сервер:
scp.exe «E:\ISO\CentOS-8.1.1911-x86_64.iso» root@192.168.1.202:/home
Можно рекурсивно скопировать все содержимое каталога:
scp -r E:\ISO\ root@192.168.1.202:/home
И наоборот, вы можете скопировать файл с удаленного сервера на ваш компьютер:
scp.exe root@192.168.1.202:/home/CentOS-8.1.1911-x86_64.iso e:\tmp
Итак, теперь вы можете прямо из Windows 10 подключаться к SSH серверам, копировать файлы с помощью scp без установки сторонних приложений и утилит.
Using SSH on Windows
Updated Thursday, February 25, 2021 , by Linode
It is common for software developers to work on multiple projects that require them to access different systems. Using SSH on Windows allows developers to connect to multiple machines remotely right from their terminal.
In this tutorial, you will learn how to use SSH on Windows 10 and older versions.
Installing OpenSSH On Windows 10
As of late 2018, OpenSSH is included with some versions of Windows. If this has been pre-installed, you can skip to the section on Using SSH on Windows 10. If unavailable, you can install OpenSSH using the following steps:
Enter the Settings menu. This can be found by typing “Settings” in the Windows search bar, and clicking on the settings application.
Next, select Apps. Click on Optional Features or Manage optional features from the menu that appears.
Click on Add a feature. A dropdown menu will appear. Select the OpenSSH client, followed by the Install button.
Using SSH on Windows 10 is similar to using it on other operating systems like Linux or Mac OSX, and can be accessed in the command prompt.
Using SSH on Windows 10 To Connect To A Server
All SSH commands are entered in the windows command prompt. The command prompt application can be opened by searching for the term “command prompt” in the windows search bar.
To connect with an SSH server, use the following syntax
If you want to connect with an SSH server at the domain “ssh.linode.com” with a username of “linode” for example, enter the following command:
When this command is entered, the SSH client will try to connect to ssh.linode.com on the standard TCP port 22 by default. If your SSH server is hosted on a different port, this port will need to be specified as part of the SSH command. You can modify the previous command and define the TCP port you need to connect to with the following syntax:
If the TCP port you want to connect with is “2222” for example, you can modify the previous command to:
When you connect with a server for the first time, the SSH client will prompt you to check and verify the host’s key fingerprint. When you execute the ssh command, you will see the following output:
Accept the prompt, and the ssh connection will be approved and established.
Using SSH On Windows 10 With Secure Shell App On Chrome
Secure shell is a Chrome application that allows you to execute ssh commands on the Chrome browser. This HTML based SSH client runs on Javascript. To use it, go to the Secure Shell Extension page on the Google chrome store and click Add to Chrome to install. Review and accept the required permission at the prompt, and select Add App to confirm the installation.
Once installed, you are automatically taken to your homepage on Google Chrome. If for some reason Google Chrome fails to redirect you, enter chrome://apps/ as the url into the chrome browser.
You should see Secure Shell App:
Выполнение команды SSH Run SSH Command
Эта версия Orchestrator достигла конца поддержки, мы рекомендуем выполнить обновление до Orchestrator 2019. This version of Orchestrator has reached the end of support, we recommend you to upgrade to Orchestrator 2019.
Действие выполнить команду SSH открывает SSH-подключение к удаленному серверу и выполняет команды оболочки на этом сервере. The Run SSH Command activity opens an SSH connection to a remote server and runs shell commands on that server. Действие выполнение команды SSH используется для запуска приложений резервного копирования или пакетного сценария, выполняющего набор сложных команд на компьютере, отличном от Windows. Use the Run SSH Command activity to run backup applications or a batch script that runs a set of complex commands on a non-Windows computer. Действие выполнить команду SSH может выполнять любую команду в Secure Shell. The Run SSH Command activity can run any command in a Secure Shell.
Действие выполнения команды SSH основано на выводимой бета-версии. 70. Run SSH Command activity is based on PuTTY beta .70. Реализация SSH в «выполнении команды SSH» имеет определенные ограничения: The implementation of SSH in «Run SSH Command» has certain limitations:
Действие «выполнить команду SSH» не работает для всех серверов SSH-1 и SSH-2. The Run SSH Command activity does not work against all SSH-1 and SSH-2 servers. Как правило, это действие работает с большинством серверов SSH, но не работает для всех реализаций сервера SSH. In general, this activity functions with most SSH servers, but it does not work for all SSH server implementations.
Чтобы создать ключи для действия «выполнение команды SSH», необходимо загрузить и использовать средство формирования ключей. You must download and use the PuTTy key generation tool to create keys for the Run SSH Command activity. Средство создания ключей доступно в файле с выводимыми сведениями о бесплатном клиенте SSH и Telnet для Windows. The key generation tool is available at Download PuTTY — a free SSH and telnet client for Windows.
Действие «выполнить команду SSH» поддерживает SSH-1. The Run SSH Command activity supports SSH-1. Корпорация Майкрософт не рекомендует использовать SSH-1. Microsoft does not recommend the use of SSH-1. Если вы хотите запретить действию команды Run SSH использовать SSH-1, следует использовать файл ключа, содержащий ключи, которые не поддерживают SSH-1. If you want to prevent The Run SSH Command activity from using SSH-1, you should use a key file that contains keys that do not support SSH-1. Не используйте для имени пользователя и пары паролей файл ключа. Do not use a username and password pair use a key file.
Изменение ключа узла для принятия свойства не рекомендуется. The property Accept Host Key Change is not a recommended setting. Это свойство должно использоваться только для установления первоначального подключения к компьютеру, когда ключ хранится на сервере Runbook. This property should only be used to establish the initial connection to a computer when the key is stored on the runbook server. Для модулей Runbook, содержащих действие «выполнить команду SSH», необходимо отключить параметр » принять изменение ключа узла «. Runbooks that contain the Run SSH Command activity should be configured with Accept Host Key Change disabled. При использовании этого свойства отключает проверку подлинности сервера SSH и представляет угрозу безопасности. When you use this property it disables the validation of the identity of the SSH server and represents a security risk.
Просмотрите список, если криптографические шифры поддерживаются выводимым методом, который находится в [ https://the.earth.li/
sgtatham/putty/0.70/htmldoc/Chapter4.html#config-ssh-encryption ). You should review the list if cryptographic ciphers supported by PuTTY, which is found at [https://the.earth.li/
Выводимая бета-версия. 61 использует генератор псевдослучайное Number, подходящий для большинства криптографических целей. PuTTY beta .61 uses a pseudorandom number generator suitable for most cryptographic purposes. Не рекомендуется использовать для создания долгосрочных криптографических ключей. It is not recommended for the generation of long-term cryptographic keys.
Дополнительные сведения о выводимых файлах см. в статье Загрузка выводимых данных — бесплатный клиент SSH и Telnet для Windows. For more information about PuTTY, go to Download PuTTY — a free SSH and telnet client for Windows.
Настройка действия «Запуск команды SSH» Configuring the Run SSH Command Activity
Перед настройкой действия «Запуск команды SSH» необходимо определить следующее: Before you configure the Run SSH Command activity, you need to determine the following:
Сведения о соединении для компьютера, на котором размещен сервер SSH, к которому необходимо подключиться. Connection information for the computer that hosts the SSH server that you want to connect to.
Команды, которые необходимо выполнить. Commands that you want to run.
Требуется ли файл ключа для входа на сервер, прежде чем можно будет выполнять команды; Это зависит от сервера SSH. Whether you require a key file to log into the server before you are able to run commands; this depends on your SSH server.
Используйте следующие сведения для настройки действия «выполнение команды SSH». Use the following information to configure the Run SSH Command activity.
Сведения Details
Параметры Settings | Инструкции по настройке Configuration Instructions |
---|---|
Компьютер Computer | Введите имя компьютера или IP-адреса, на котором работает сервер SSH. Type the name of the computer or IP address where the SSH server is running. Для поиска компьютера можно также использовать кнопку с многоточием (. ) . You can also use the ellipsis (. ) button to browse for the computer. |
порт. Port | Введите номер порта, который необходимо использовать для подключения к серверу SSH. Type the port number that you need to use to connect to the SSH server. |
Запуск команды Run Command | Выберите этот параметр и введите команду, которую требуется запустить на сервере SSH после установки соединения. Select this option and type the command that you want to run on the SSH server after the connection has been established. |
Файл набора команд Command Set File | Выберите этот параметр и укажите файл, содержащий набор команд, которые будут выполняться на сервере SSH при установке соединения. Select this option and specify a file that contains a set of commands that will be run on the SSH server when the connection has been established. Файл набора команд должен использовать язык скриптов собственной оболочки на сервере SSH. The command set file must use the scripting language of the native shell on the SSH server. |
Принять изменение ключа узла Accept Host Key Change | Выберите этот параметр, чтобы принять изменения ключа узла при их возникновении. Select this option to accept host key changes when they occur. Примечание по безопасности. Не рекомендуется использовать этот параметр, так как он может привести к тому, что модуль Runbook будет принимать любые изменения на сервере, включая все, что необходимо для вредоносных целей. Security Note: It is recommended that you do not use this setting because it can cause a runbook to accept any change in a server, including any that are for malicious purposes. При выборе этого параметра вы указываете действию подключиться к любому серверу независимо от ключа узла. By selecting this option, you are instructing the activity to connect to any server, regardless of the host key. Используйте этот параметр только для целей тестирования. Only use this option for testing purposes. |
Время ожидания соединения Connection Timeout | Укажите время в секундах, в течение которого действие команды «выполнить SSH» будет ожидать завершения команды SSH. Specify the amount of time, in seconds, that the Run SSH Command activity will wait for the SSH command to complete. Задайте значение 0 (ноль) или оставьте поле пустым, чтобы время ожидания не ограничено. Configure a value of 0 (zero), or leave the box blank, to wait indefinitely. |
По истечении времени ожидания действие команды Run SSH истекает из состояния ожидания и возвращает предупреждение. After the timeout period has elapsed, the Run SSH Command activity times out and returns a warning. Выполняемая команда может продолжать работать независимо от того, истечет ли время действия команды Run SSH. The command that you ran may continue running, regardless of whether the Run SSH Command activity times out.
Продвинутый уровень Advanced
Параметры Settings | Инструкции по настройке Configuration Instructions |
---|---|
Имя пользователя Username | Введите имя пользователя, которое необходимо войти на сервер SSH. Type the username that you need to log into the SSH server. |
Пароль Password | Выберите этот параметр и введите пароль, связанный с указанным именем пользователя. Select this option and type the password that is associated with the Username that you specified. |
Файл ключа Key File | Выберите этот параметр, чтобы указать используемый файл ключа. Select this option to specify a key file to use. Для создания файла ключа необходимо использовать генератор файлового ключа выводимых ключей. You must use the PuTTY key file generator to create a key file. Это средство можно загрузить с ознакомительного выводимого файла — бесплатного клиента SSH и Telnet для Windows. You can download this tool from Download PuTTY — a free SSH and telnet client for Windows. |
Парольная фраза Passphrase | Введите парольную фразу, связанную с указанным файлом ключа. Type the passphrase that is associated with the key file that you specified. |
Опубликованные данные Published Data
В следующей таблице перечислены опубликованные элементы данных. The following table lists the published data items.
Элемент Item | Описание Description |
---|---|
Get-Help Command | Команда, которая выполнялась на сервере SSH. The command that ran on the SSH server. Эти данные недоступны, если выбран параметр Командный набор файлов . This data is not available when the Command Set File option is selected. |
Файл набора команд Command Set file | Файл набора команд, который использовался для выполнения команд на сервере SSH. The command set file that was used to run commands on the SSH server. Этот параметр недоступен, если выбран параметр выполнить команду . This option is not available when the Run Command option is selected. |
Имя компьютера Computer name | Имя или IP-адрес сервера SSH. The name or IP address of the SSH server. |
Результат выполнения Execution Result | Текст, опубликованный в виде выходных данных команд, которые были запущены на сервере SSH. The text that was published as output from the commands that were run on the SSH server. |
Код завершения Exit Code | Код выхода, опубликованный командой. The exit code published by the command. При использовании файла набора команд это будет код выхода последней команды в файле. When using a command set file, this will be the exit code of the last command in the file. |
Путь к файлу ключа Key file path | Путь к файлу ключа, который использовался для проверки подлинности на сервере SSH. The path of the key file that was used to authenticate with the SSH server. |
Port Port | Порт, используемый для подключения к серверу SSH. The port used to connect to the SSH server. |
Имя пользователя Username | Имя пользователя, используемое для входа на сервер SSH. The username used to log into the SSH server. |
Следующие шаги Next steps
см. статью о том, как получить переменные SNMP. see the article on how to get the SNMP variables.