/**************************************************************************** ** ** Copyright (C) 2019 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Creator documentation. ** ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** ** GNU Free Documentation License Usage ** Alternatively, this file may be used under the terms of the GNU Free ** Documentation License version 1.3 as published by the Free Software ** Foundation and appearing in the file included in the packaging of ** this file. Please review the following information to ensure ** the GNU Free Documentation License version 1.3 requirements ** will be met: https://www.gnu.org/licenses/fdl-1.3.html. ** ****************************************************************************/ /*! //! [configuring ssh] \section2 Configuring SSH Connections SSH connections are established via an OpenSSH client running in master mode, if possible. Connection sharing is enabled by default to allow sharing multiple sessions over a single SSH connection. This way, a connection is only established once and then re-used by subsequent run and deploy procedures, saving connection setup overhead particularly with embedded devices. Because connection sharing is not supported on Windows, a new SSH connection is created for each deploy or run procedure. To create SSH connections, you must install the \l{https://www.openssh.com/} {OpenSSH} suite, which includes the ssh, sftp, and ssh-keygen tools on the development PC. To tell \QC where it can find the tools, specify the paths to the directories where the tools are installed in \uicontrol Tools > \uicontrol Options > \uicontrol Devices > \uicontrol SSH: \image qtcreator-ssh-options.png \list \li Deselect the \uicontrol {Enable connection sharing} check box to create a new SSH connection for each deploy and run procedure. This option is grayed on Windows, where connection sharing is not supported. \li In the \uicontrol {Connection sharing timeout} field, specify the timeout for reusing the SSH connection in minutes. \li In the \uicontrol {Path to ssh executable} field, enter the path to the directory where the OpenSSH executable is installed. \li In the \uicontrol {Path to sftp executable} field, enter the path to the directory where the SFTP executable is installed. \li In the \uicontrol {Path to ssh-askpass executable} field, enter the path to the directory where the ssh-askpass executable is installed. Usually, you can use the default path that points to the implementation of the tool delivered with \QC, qtc-askpass. \li In the \uicontrol {Path to ssh-keygen executable} field, enter the path to the directory where the ssh-keygen executable is installed. \endlist //! [configuring ssh] //! [generating ssh keys] \section2 Generating SSH Keys If you do not have an SSH public and private key pair, you can generate it in \QC. The connection wizard can create the key pair for you, or you can create it separately. You can specify key length and the key algorithm, RSA or ECDSA. If you only use the keys to protect connections to the emulator or device, you can use the default values. \list 1 \li Select \uicontrol Tools > \uicontrol Options > \uicontrol Devices > \uicontrol Devices > \uicontrol {Create New}. \image qtcreator-ssh-key-configuration.png "SSH Key Configuration dialog" \li In the \uicontrol {Private key file} field, select the location to save the private key. The \uicontrol {Public key file} field displays the location to save the corresponding public key. \li Select \uicontrol {Generate And Save Key Pair} to generate and save the keys at the specified locations. \endlist //! [generating ssh keys] */