Как использовать ключи ssh с windows в azurehow to use ssh keys with windows on azure

Содержание

What is OpenSSH?

SSH (Secure Shell) is a tool for secure system administration, file transfers, and other communication across the Internet or other untrusted network. It encrypts identities, passwords, and transmitted data so that they cannot be eavesdropped and stolen.


OpenSSH is an open source implementation of the SSH protocol. It is based on the free version by Tatu Ylonen and further developed by the OpenBSD team and the user community.

Tatu Ylonen founded SSH Communications Security to provide commercial support for enterprises, and the original version evolved into Tectia SSH. The commercial version also supports Windows and IBM mainframe (z/OS) platforms and includes full support for X.509 certificates and smartcard authentication (for example the CAC and PIV cards used by US government).

The open source version is delivered as source code or precompiled binaries under a BSD-style license. The project team provides no support services for end-users, but community-based support is available (on a voluntary basis) from various security web forums.

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

Ввод пароля для подключения через 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.

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

Package contents: putty.exe, puttygen.exe, psftp.exe, pscp.exe, pagent.exe

The installation package includes , , , , and .

is the main executable for the terminal client. It can also be used standalone, without the installation package, by simply copying the executable to a USB stick and running it on a new machine. This way, the user can carry the executable with them. However, this should not be assumed to provide great security — malware on the machine where it is used can still compromise the software (cf. CIA hacking tool bothanspy) and viruses may get installed on the USB stick whenever it is inserted in a new machine.

is can be used for generating SSH keys on Windows. See the separate puttygen page on how to create and set up SSH keys with it.

is an SFTP file transfer client. It only works on the command line, and does not support graphically dragging and dropping files between systems. See Tectia SSH if you’d like that functionality.

is a command line SCP client.

is an SSH agent for PuTTY. Keys are first created with and can then be loaded into for automating logins and for implementing single sign-on.

SSH Academy

IAM

IAM Zero Trust Framework Gartner CARTA Standing Privileges Zero Standing Privileges (ZSP) Ephemeral access PrivX lean PAM Identity management Active Directory Administrators Domain administrators Local administrators Jump server IAM Just in time Just-in-time security tokens Multi-Factor Authentication (MFA) OpenID Connect (OIDC) PAM (Privileged Access Management) Legacy PAM Password generator Password strength Password vaults Privileged accounts PASM Privilege Elevation and Delegation Management Privileged session management Radius Root accounts Service accounts System accounts Sudo Users User IDs Superuser

Vagrant

Cloud

Cloud applications Cloud computing Cloud computing characteristics Cloud computing companies Cloud computing definition Cloud computing models Cloud computing pros and cons Cloud computing security Cloud storage Cloud technology IaaS PaaS SaaS SaaS companies SaaS security

Secure Shell

Secure Shell Secure Shell protocol SSH software downloads SSH certificate authentication Ipsec Network monitoring Port 22 RCP rlogin RSH SCP Session key Automated connections SSH command SSH configuration SSHFS SSH File System SSH for Windows SSH servers Tectia SSH Server SSH server configuration SSO using SSH agent Telnet WinSCP

SSH keys

CAC and PIV smartcards OpenSSH key authorization Passphrases Passphrase generator Copy ID Host key Authorized key Authorized key file SSH key basics SSH key identities SSH key management Universal SSH Key Manager SSH key proliferation SSH keygen SSH keys for SSO Public key authentication

SSH compliance

SSH key compliance Basel III COBIT Cybersecurity framework Fips 140 Fips 199 Fips 200 GDPR HIPAA ISACA ISACA SSH guide ISO 27001 NERC-CIP NIS directive NIST 7966 NIST 7966 download NIST 800-53 PCI-DSS Sans Top 20 Sarbanes Oxley

sshd OpenSSH server process

PuTTY

PuTTY download PuTTY manuals PuTTY for Windows PuTTY for Mac PuTTY for Windows PuTTY for Windows installation PuTTY public keys PuTTYgen for Linux PuTTYgen for Windows

SSH tunneling example

SSH Academy

IAM

IAM Zero Trust Framework Gartner CARTA Standing Privileges Zero Standing Privileges (ZSP) Ephemeral access PrivX lean PAM Identity management Active Directory Administrators Domain administrators Local administrators Jump server IAM Just in time Just-in-time security tokens Multi-Factor Authentication (MFA) OpenID Connect (OIDC) PAM (Privileged Access Management) Legacy PAM Password generator Password strength Password vaults Privileged accounts PASM Privilege Elevation and Delegation Management Privileged session management Radius Root accounts Service accounts System accounts Sudo Users User IDs Superuser

Vagrant

Cloud

Cloud applications Cloud computing Cloud computing characteristics Cloud computing companies Cloud computing definition Cloud computing models Cloud computing pros and cons Cloud computing security Cloud storage Cloud technology IaaS PaaS SaaS SaaS companies SaaS security

Secure Shell


Secure Shell Secure Shell protocol SSH software downloads SSH certificate authentication Ipsec Network monitoring Port 22 RCP rlogin RSH SCP Session key Automated connections SSH command SSH configuration SSHFS SSH File System SSH for Windows SSH servers Tectia SSH Server SSH server configuration SSO using SSH agent Telnet WinSCP

SSH keys

CAC and PIV smartcards OpenSSH key authorization Passphrases Passphrase generator Copy ID Host key Authorized key Authorized key file SSH key basics SSH key identities SSH key management Universal SSH Key Manager SSH key proliferation SSH keygen SSH keys for SSO Public key authentication

SSH compliance

SSH key compliance Basel III COBIT Cybersecurity framework Fips 140 Fips 199 Fips 200 GDPR HIPAA ISACA ISACA SSH guide ISO 27001 NERC-CIP NIS directive NIST 7966 NIST 7966 download NIST 800-53 PCI-DSS Sans Top 20 Sarbanes Oxley

sshd OpenSSH server process

PuTTY

PuTTY download PuTTY manuals PuTTY for Windows PuTTY for Mac PuTTY for Windows PuTTY for Windows installation PuTTY public keys PuTTYgen for Linux PuTTYgen for Windows

SSH tunneling example

Concluding Remarks

The above list of best SSH software for Windows is not by any means exhaustive. There are other good SSH clients such as XShell (paid), Bitvise SSH Client (free for individual use), and TeraTerm (Free) that may be comparable. Also, please remember that the above list is focussed towards home server or media center users for basic administrative tasks and not business environments. Some of the Android media players can even be administered using SSH with an SSH server app installed. As mentioned in the article, I have used and like PuTTY but I have moved on to MobaXterm and have been very happy. For many, this will be a matter of personal preference. But I hope that this list of best SSH clients summarizes a few options to choose from.

Why SSH When You Can Use Linux?

While remote controlling Linux over SSH might be vital, you may not even need SSH. Windows 10 now features a Linux subsystem and a Bash-like command prompt.

This means that you can easily input Linux commands and receive realistic responses. While it might not be ideal for all scenarios, if you need Linux access for college or training purposes, and don’t have SSH access (regardless of app) to a Linux device, this might be ideal.

Of course, this isn’t the only option. If you need to practice Bash commands in Windows, you can always set up a virtual machine. Simply install a Linux distribution into this and (hardware permitting) you have a Linux OS ready to use.

Windows SSH Client Options

There are several other clients and servers available. These are generally not supported for SSH key management and may not have commercial support or 24×7 support available.

PuTTY is a free client for the SSH and telnet protocols. More information on PuTTY.

WinSCP is a free open source Windows client for file transfers. In addition to file transfer (with FTP, SFTP, or SCP protocols) WinSCP offers a basic file manager functionality and supports scripting. More information

FileZilla is a free file transfer client. More information on FileZilla.

Chrome SSH extension — The Google Chrome browser can be turned into an SSH client with an extension available in the Chrome Web Store. The Chrome SSH (beta) offers a basic SSH protocol capability.

Bitvise is a European software company that priovides an SSH client also for Windows. A copy of Bitvise SSH Client can be downloaded from: https://www.bitvise.com/ssh-client-download =nofollow.

VanDyke Software offers their commercial client software for a free, time-limited evaluation. VanDyke SecureCRT and SecureFX clients supports telnet, Secure Shell (SSH), and SFTP. An evaluation copy can be downloaded from https://vandyke.com/download/index.html =nofollow.

SSH Academy

IAM

IAM Zero Trust Framework Gartner CARTA Standing Privileges Zero Standing Privileges (ZSP) Ephemeral access PrivX lean PAM Identity management Active Directory Administrators Domain administrators Local administrators Jump server IAM Just in time Just-in-time security tokens Multi-Factor Authentication (MFA) OpenID Connect (OIDC) PAM (Privileged Access Management) Legacy PAM Password generator Password strength Password vaults Privileged accounts PASM Privilege Elevation and Delegation Management Privileged session management Radius Root accounts Service accounts System accounts Sudo Users User IDs Superuser

Vagrant

Cloud

Cloud applications Cloud computing Cloud computing characteristics Cloud computing companies Cloud computing definition Cloud computing models Cloud computing pros and cons Cloud computing security Cloud storage Cloud technology IaaS PaaS SaaS SaaS companies SaaS security

Secure Shell

Secure Shell Secure Shell protocol SSH software downloads SSH certificate authentication Ipsec Network monitoring Port 22 RCP rlogin RSH SCP Session key Automated connections SSH command SSH configuration SSHFS SSH File System SSH for Windows SSH servers Tectia SSH Server SSH server configuration SSO using SSH agent Telnet WinSCP

SSH keys

CAC and PIV smartcards OpenSSH key authorization Passphrases Passphrase generator Copy ID Host key Authorized key Authorized key file SSH key basics SSH key identities SSH key management Universal SSH Key Manager SSH key proliferation SSH keygen SSH keys for SSO Public key authentication

SSH compliance

SSH key compliance Basel III COBIT Cybersecurity framework Fips 140 Fips 199 Fips 200 GDPR HIPAA ISACA ISACA SSH guide ISO 27001 NERC-CIP NIS directive NIST 7966 NIST 7966 download NIST 800-53 PCI-DSS Sans Top 20 Sarbanes Oxley

sshd OpenSSH server process

PuTTY

PuTTY download PuTTY manuals PuTTY for Windows PuTTY for Mac PuTTY for Windows PuTTY for Windows installation PuTTY public keys PuTTYgen for Linux PuTTYgen for Windows

SSH tunneling example

SSH Academy

IAM

IAM Zero Trust Framework Gartner CARTA Standing Privileges Zero Standing Privileges (ZSP) Ephemeral access PrivX lean PAM Identity management Active Directory Administrators Domain administrators Local administrators Jump server IAM Just in time Just-in-time security tokens Multi-Factor Authentication (MFA) OpenID Connect (OIDC) PAM (Privileged Access Management) Legacy PAM Password generator Password strength Password vaults Privileged accounts PASM Privilege Elevation and Delegation Management Privileged session management Radius Root accounts Service accounts System accounts Sudo Users User IDs Superuser

Vagrant

Cloud

Cloud applications Cloud computing Cloud computing characteristics Cloud computing companies Cloud computing definition Cloud computing models Cloud computing pros and cons Cloud computing security Cloud storage Cloud technology IaaS PaaS SaaS SaaS companies SaaS security

Secure Shell

Secure Shell Secure Shell protocol SSH software downloads SSH certificate authentication Ipsec Network monitoring Port 22 RCP rlogin RSH SCP Session key Automated connections SSH command SSH configuration SSHFS SSH File System SSH for Windows SSH servers Tectia SSH Server SSH server configuration SSO using SSH agent Telnet WinSCP

SSH keys

CAC and PIV smartcards OpenSSH key authorization Passphrases Passphrase generator Copy ID Host key Authorized key Authorized key file SSH key basics SSH key identities SSH key management Universal SSH Key Manager SSH key proliferation SSH keygen SSH keys for SSO Public key authentication

SSH compliance

SSH key compliance Basel III COBIT Cybersecurity framework Fips 140 Fips 199 Fips 200 GDPR HIPAA ISACA ISACA SSH guide ISO 27001 NERC-CIP NIS directive NIST 7966 NIST 7966 download NIST 800-53 PCI-DSS Sans Top 20 Sarbanes Oxley

sshd OpenSSH server process

PuTTY

PuTTY download PuTTY manuals PuTTY for Windows PuTTY for Mac PuTTY for Windows PuTTY for Windows installation PuTTY public keys PuTTYgen for Linux PuTTYgen for Windows

SSH tunneling example

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

Теперь вы можете попробовать подключиться к своей Windows 10 через SSH клиент (я использую putty, но можно пользоваться встроенным ssh клиентом Windows).

При первом подключении появится стандартный запрос на добавление узла в список известных SSH хостов.

Нажимаем Да, и в открывшееся окне авторизуемся под пользователем Windows.

При успешном подключении запускается командная оболочка cmd.exe со строкой-приглашением.

admin@win10tst C:\Users\admin>

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

Я предпочитаю работать в командной строке PowerShell. Чтобы запустить интерпретатор PowerShell, выполните:

Чтобы изменить Shell по умолчанию в OpenSSH с cmd.exe на PowerShell, внесите изменение в реестр такой командой:

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

В SSH сессии запустилась консоль PowerShell, в которой работают привычные функции: авто дополнение, раскраска модулем PSReadLine, история команд и т.д. Если текущий пользователь входит в группу локальных администраторов, то все команды в его сессии выполняются с повышенными правами даже при включенном UAC.

Sshd_config: Конфигурационный файл сервера OpenSSH

Вы можете изменить настройки сервере OpenSSH в конфигурационном файле %programdata%\ssh\sshd_config.

Например, чтобы запретить SSH подключение для определенного доменного пользователя (и всех пользователей указанного домена), добавьте в конце файле директивы:

DenyUsers winitpro\admin@192.168.1.10
DenyUsers corp\*

Чтобы разрешить подключение только для определенной доменной группы:

AllowGroups winitpro\sshadmins

Либо можете разрешить доступ для локальной группы:

AllowGroups sshadmins

Можно запретить вход под учетными записями с правами администратора, в этом случае для выполнения привилегированных действий в SSH сессии нужно делать runas.

DenyGroups Administrators

Следующие директивы разрешают SSH доступ по ключам (доступ к Windows через SSH по ключам рассмотрим подробно в следующей статье) и по паролю:

PubkeyAuthentication yes
PasswordAuthentication yes

Вы можете изменить порт, на котором принимает подключения OpenSSH в конфигурационном файле sshd_config в директиве Port.

После любых изменений в конфигурационном файле sshd_config нужно перезапускать службы sshd:

Настройка OpenSSH в Windows для авторизации по ключам

Теперь открытый ключ, который вы сгенерировали на клиенте, нужно скопировать на ваш SSH сервер (в этом примере это удаленный компьютер с Windows 10 1903 и настроенной службой OpenSSH).

Мы уже подробно рассматривали настройку OpenSSH сервера в Windows.

Скопируйте файл id_rsa.pub в каталог .ssh профиля пользователя, под которым вы будете подключаться к SSH серверу. Например, у меня в Windows 10 создан пользователь admin, значит я должен скопировать ключ в файл C:\Users\admin\.ssh\authorized_keys.

Можно скопировать ключ на SSH сервер с клиента с помощью SCP:

Теперь вы можете подключиться к SSH серверу без ввода пароля пользователя. А если вы не задали пароль (passphrase) для закрытого ключа, вы сразу автоматически подключитесь к вашему удаленному серверу Windows.

Для подключения через SSH к удаленному хосту используется следующая команда:

Например,

Это означает, что вы хотите подключиться к удаленному SSH серверу с адресом 192.168.1.90 под учетной записью admin. Служба SSH Agent автоматически попытается использовать для авторизации сохраненный ранее закрытый ключ.

Если вы не хотите использовать ssh-agent для управления ключами, вы можете указать путь к закрытому ключу, который нужно использовать для SSH аутентификации:

Если вы не смогли подключиться к вашему SSH серверу по RSA ключу, и у вас все равно запрашивается пароль, скорее всего пользователь, под которым вы подключаетесь, входит в группу локальных администраторов сервера (SID группы S-1-5-32-544). Об этом далее.

PowerShell’s SSH Features vs. PuTTY

PuTTY has long been the preferred choice for SSH on Windows. Whether controlling web servers, accessing Internet of Things devices or remotely administering a Linux PC, it’s a lightweight, easy to use app.

One of the reasons for PuTTY’s endurance is its wide selection of features. So, can SSH on Windows PowerShell compete with PuTTY?

Well, in terms of providing SSH functionality, yes it can. You can find out how to use some of the extended features of SSH on Windows 10 by entering the ssh command:

The resulting list of options outlines the features. For example, you can specify a port:

The possibilities are good!

However, it’s still not PuTTY. While you can bind an address with OpenSSH on Windows, you’re limited by the number of addresses you can save.

There is a reason why PuTTY remains popular. Not only does it allow you to save (and name) your connections, the app also supports connections over Telnet, Serial, and other protocols. PuTTY’s appearance is also configurable, can it be quickly launched from the desktop. All in all, PuTTY is a solid utility that handles pretty much anything that you can throw at it.

Копирование Открытого Ключа для Включения Беспарольного SSH

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

  • С помощью команды ssh-copy-id
  • С помощью SSH
  • Вручную

Первый вариант является наиболее оптимальным и быстрым. Команда ssh-copy-id по умолчанию включена в большинство дистрибутивов Linux. Однако, если вы столкнулись с проблемами при использовании ssh-copy-id или не имеете доступа к этой команде, вы можете попробовать следующие опции.

 Метод 1: С Помощью Команды ssh-copy-id

Основной синтаксис этой команды:

ssh-copy-id имя_удаленного_пользователя@удаленный_IP_aдрес

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

Метод 2: Копирование Закрытого Ключа с Помощью SSH

При этом методе, мы копируем закрытый ключ, используя SSH. Этот вариант сработает только в том случае, если у вас есть SSH-доступ к серверу на основе пароля. Команда ниже сделает всю работу. Вам нужно только ввести имя и IP-адрес удалённого пользователя.

cat ~/.ssh/id_rsa.pub | ssh имя_удаленного_пользователя@удаленный_ip_aдрес "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Запись будет добавлена в файл author_keys удалённой машины.

Метод 3: Копирование Открытого Ключа Вручную

Третий метод немного сложнее, так как вам придётся всё делать вручную. Однако, вариант вполне рабочий и вы можете использовать его в отдельных случаях, когда другие методы не работаю. Вам нужно будет вручную добавить содержимое файла id_rsa.pub в файл ~/.ssh/authorized_keys удалённого сервера.

Вы можете посмотреть содержимое файла id_rsa.pub с помощью редактора vi или команды cat:

cat ~/.ssh/id_rsa.pub

Команда выведет ключ, он начинается с ssh-rsa. Скопируйте эго! Затем на удалённом сервере войдите в систему и создайте файл .ssh, если он не существует.

mkdir -p ~/.ssh

Также само вы можете создать файл author_keys. Добавьте скопированный открытый SSH-ключ в пустой файл, как показано ниже:

echo SSH_public_key >> ~/.ssh/authorized_keys

SSH_public_key — это открытый ключ, который вы скопировали с исходного компьютера. Он должен начинаться с ssh-rsa.

После того как ключ будет скопирован, вы сможете настроить необходимые разрешения для каталога .ssh удалённых серверов с помощью команды chmod.

chmod -766 ~/.ssh

SSH Key Management

OpenSSH presents several special challenges for SSH key management:

  • Common lack of policies and provisioning/termination processes. Users are commonly allowed to self-provision keys for themselves (and anyone they like).

  • The proprietary certificates supported by OpenSSH make auditing SSH key based access impossible. With them, you cannot tell which keys a server will accept by analyzing the server. Typically there are no reliable records or audits of which keys a certificate authority key has signed. We do not recommend the use of OpenSSH certificates for user authentication.

  • Key locations are commonly configured in configuration files.

  • Some organizations use custom-compiled versions that have non-standard paths compiled in for specifying the location of SSH keys.

  • SSH keys may be stored in NFS (Network File System) volumes and a change may affect many hosts.

  • User accounts may come from Active Directory, NIS (Network Information System), or LDAP (Lightweight Directory Access Protocol) servers.

  • Keys may be stored in LDAP.

  • SELinux is enabled in many common Linux distributions, and it may not be possible to directly read authorized_keys files.

  • Configuration file syntax and the meaning of certain options has changed many times between versions.

  • Options in authorized_keys files are important for understanding what access is provided and for restricting the use of stolen/copied keys using from-stanzas.

The only solution that is currently able to practically address the SSH key management problem with the full complexity of enterprise environments is Universal SSH Key Manager.

For more information on SSH key management and what it involves, please see the generic SSH key management page.

Information security starts by controlling who is given access to systems. The rest is just enforcing the access. If there is no knowledge of who has been given access using SSH keys, there is no security. No confidentiality, no integrity, no guarantee of continued operation.

PuTTY Like Programs for Windows

The 3 SSH clients listed bellow are based on PuTTY and they look like PuTTY but provide added features to take PuTTY to next level. If you want to stick with PuTTY environment, then one of these SSH clients for Windows is worth a look.

2. SuperPutty (free; open-source; based on PuTTY)

SuperPutty is a Windows PuTTY alternative that aims to make a better version of PuTTY. However, it requires PuTTY to run. In other words, SuperPuTTY makes existing PuTTY install better. It allows tabbed sessions as well as SCP file transfers between remote and local system.

SuperPuTTY requires PuTTY to run

SuperPuTTY’s features include:

  • Docking user interface allows personalized workspace and managing multiple PuTTY sessions easy
  • Export/Import session configuration
  • Upload files securely using the scp or sftp protocols
  • Layouts allow for customizing session views
  • Supports PuTTY session configurations including Private Keys
  • Supports SSH, RLogin, Telnet and RAW protocols
  • Supports local shell via MinTTY or puttycyg
  • Supports KiTTY

3. PuTTY Tray (free; open-source; based on PuTTY)

PuTTY Tray, as the name suggests, is based on PuTTY. It adds cosmetic changes and extends PuTTY further using addons that make it better than PuTTY. But in many ways it looks very much like PuTTY. Some of its features include:

  • Minimizing to the system tray (on CTRL + minimize, always or directly on startup)
  • Icons are customisable
  • Blinks tray icon when a bell signal is received
  • Configurable window transparency
  • URL hyperlinking
  • Portability: optionally stores session configuration in files (for example: on a USB drive) like portaPuTTY
  • Easy access to the ‘always on top’ setting (in the system menu)
  • Android adb support

If you are big PuTTY fan, then PuTTY Tray is a great alterantive to PuTTY SSH.

4. KiTTY (free; open-source; based on PuTTY)

KiTTY is a fork of PuTTY designed to function as a Windows SSH Client. KiTTY has all features from PuTTY and adds many more features.

KiTTY looks very similar to PuTTY

While the entire list of features can be found on KiTTY’s website, some key added features are listed below:

  • Sessions filter
  • Portability
  • Shortcuts for pre-defined command
  • Automatic password
  • Running a locally saved script on a remote session
  • An icon for each session
  • Send to tray
  • Quick start of a duplicate session
  • pscp.exe and WinSCP integration

KiTTY is another great alternative to PuTTY.


С этим читают