SSH客户端工具——PuTTY(1)

2023-11-03

引言

本文介绍了SSH客户端工具PuTTY的下载和在Windows下的安装方法、怎么使用PuTTYgen生成SSH密钥对,以及如何通过PuTTY远程登录SSH服务器。

一、安装PuTTY

PuTTY是在Windows平台下常用的SSH客户端工具,主要由Simon Tatham开发和维护。

1、从PuTTY的下载页下载PuTTY的安装包,如:putty-64bit-0.78-installer.msi。

#PuTTY主页
https://www.chiark.greenend.org.uk/~sgtatham/putty/
#PuTTY下载页
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
#Simon Tatham的个人主页
https://www.chiark.greenend.org.uk/~sgtatham/

在这里插入图片描述

2、安装PuTTY。

在这里插入图片描述

在这里插入图片描述

3、安装完成后,可以看到,在PuTTY软件包里有很多工具,比如:PuTTY就是SSH客户端工具,用于通过SSH连接远程服务器;PuTTYgen用于生成SSH密钥对(SSH keys)。

在这里插入图片描述

二、用PuTTYgen生成SSH密钥

1、启动PuTTYgen

在这里插入图片描述

可以修改Parameters,包括密钥(Key)的类型和长度。不过在大多数情况下,保持如上图所示的默认值即可。

2、单击Generate按钮,然后按照提示随意移动鼠标以产生一些随机性(randomness),产生的随机性用于生成Keys。

在这里插入图片描述

3、SSH Keys生成完毕后,如下图所示:

在这里插入图片描述

(1)文本框中的内容就是生成的SSH客户端公钥,可以将其粘贴到OpenSSH的authorized_keys文件中(注:在远程SSH服务器上)。

(2)Key fingerprint:生成的SSH Keys的指纹。

(3)Key comment:注释,可改。

(4)可以选择添加一个密码对产生的Keys进行保护,也可以不用。

(5)单击Save private key按钮,可以将产生的私钥保存成一个后缀名为.ppk的文件。

(6)单击Save public key按钮,可以将产生的公钥保存成一个没有后缀名的文件。注意:这个文件的格式与SSH服务器中用于认证的authorized_keys文件的格式是不一样的。

(7)如果想查看公钥,单击Load按钮,加载后缀名为.ppk的私钥文件,相应的公钥就会以authorized_keys文件中的格式显示在上图第一个文本框中。

三、通过PuTTY登录SSH服务器

1、启动PuTTY,打开PuTTY Configuration窗口,如下图所示:

在这里插入图片描述

2、选择Session(会话),配置会话的基本选项:

(1)选择连接类型:SSH

(2)填写远程服务器的主机名或IP地址、端口号(默认:22)

3、可以给会话配置起个名字(如:ubuntu),然后单击Save按钮保存当前的会话配置;单击Load按钮可加载选中的会话配置;单击Delete按钮可删除选中的会话配置。

4、单击Open按钮,打开远程登录窗口。

如果是第一次登录远程服务器或者之前没有将远程服务器的公钥保存到PuTTY的cache中,将弹出下面这个窗口:

在这里插入图片描述

(1)在这个窗口中,展示了远程服务器公钥的fingerprint,你也可以单击More info ...按钮查看远程服务器公钥更详细的信息,通过这些信息来确认这个服务器是不是要连接的SSH服务器,也就是根据SSH服务器的公钥对SSH服务器进行认证。

(2)如果信任这个远程服务器,可以单击Accept按钮继续登录,同时将服务器的公钥保存到PuTTY的cache中,下次再登录的时候就不会再弹出这个窗口了。

(3)如果单击Connect Once按钮,可以继续登录,但不会将服务器的公钥保存到PuTTY的cache中,下次登录时还会弹出这个窗口。

(4)如果不信任这个服务器,单击Cancel按钮,取消登录。

5、在登录窗口中,按照提示依次输入远程服务器上的用户名和密码,即可成功登录到远程服务器。

在这里插入图片描述

在这一步中,SSH远程服务器对SSH客户端采用的是用户名-密码这种认证方式,客户端每次登录都要依次输入用户名和密码。

SSH客户端在登录SSH服务器时,服务器对客户端的认证除了采用用户名-密码这种认证方式之外,还可以采用用户名-公钥认证方式,方法如下:


6、如何用用户名-公钥认证方式登录远程服务器?

(1)用PuTTYgen生成本地客户端的SSH密钥对(公钥、私钥)(本文第二部分)。

(2)将客户端的公钥添加到服务器的文件~/.ssh/authorized_keys中。

(3)启动PuTTY,打开PuTTY Configuration窗口,选择Session,在完成会话的基本配置后,按照下图所示将之前用PuTTYgen生成的客户端的私钥文件添加到会话配置中,再回到Session选项,点击Save,保存一下配置。

在这里插入图片描述

(4)单击Open按钮,打开远程登录窗口,登录SSH服务器。

在登录窗口中输入远程服务器上的用户名,回车。如果之前用PuTTYgen生成私钥的时候对私钥采用了密码保护,还需要输入私钥的密码。

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SSH客户端工具——PuTTY(1) 的相关文章

  • 在 bash 中使用 ssh 内的 Expect 执行 sudo

    我想创建一个脚本来自动在多个 Linux 主机上进行安装 我使用 ssh 密钥登录到主机 在登录中我想做一个 sudo 我正在尝试使用 Expect 我在站上有它 但是我的服务器上没有运行脚本 我该怎么做 这是我的尝试 但没有运气 bin
  • 远程nodejs服务器部署永远

    我正在尝试通过提交后钩子在远程计算机上部署节点js服务器 该钩子将调用远程计算机上执行实际部署的脚本 我面临的问题是 如果我在计算机上运行远程脚本 它可以正常工作 但是当我尝试通过 ssh 命令执行相同的脚本时 服务器无法启动 这就是我的提
  • 登录失败时生成 Python PXSSH GUI

    当登录失败时 我无法阻止 GUI 的生成 失败并生成 GUI 的简单示例 gt gt gt import pxssh gt gt gt gt gt gt ssh pxssh pxssh gt gt gt ssh force password
  • 在远程机器上执行多个命令

    在下面的命令中 我尝试 ssh 命令并执行多个命令 如果任何命令失败 即如果 command1 退出 那么如果 command1 和 commnd 2 退出 否则在远程计算机上执行命令 3 我如何退出 我怎样才能做到这一点 ssh logi
  • 从 Bash 调用的 Expect 脚本的退出状态代码

    我制作了一个 Bash 脚本 它使用 Expect 脚本来自动进行 ssh 登录 该脚本连接到多个服务器并运行一些命令 bash 脚本会提示输入一次登录凭据 我想合并一个功能 其中如果第一个服务器登录失败 脚本将终止 以避免脚本检查下一个服
  • 如何解决22端口连接超时问题

    ssh connect to host bitbucket org port 22 Connection timed out fatal Could not read from remote repository Please make s
  • 如何在接收端打开没有 SSHD 的 shell?

    我有一台没有 SSHD 的机器 我想从远程机器 我可以完全控制 在这台机器上打开 bash shell 由于我的有限机器上有 SSH 因此我配置了反向代理 ssh R 19999 localhost 22 remoteuser remote
  • 如何让SSH命令执行超时

    我有一个这样的程序 ssh q email protected cdn cgi l email protection exit echo output value gt 在上面的代码中 我尝试通过 SSH 连接到远程服务器 并尝试检查是否可
  • SQLPLUS 保存到文件

    我必须为我的数据库类使用 SQLPLUS 我们的第一个作业是简单的保存 我按照说明进行操作 我正在使用 PuTTY 访问 sqlplus 在本练习中使用以下 SQL 命令 并尝试使用 SAVE 和 SPOOL 命令将 SQL 命令和输出保存
  • 无法验证主机真实性

    我第一次做git pull 在git中提示无法确定主机的真实性 与我生成的私钥相比 RSA密钥指纹不正确 我只是想知道如何更新它以便它读取正确的文件以及为什么它首先读取错误的指纹 我遇到了类似的问题 这意味着远程主机未知 不受信任 修复方法
  • 流浪家园慢

    我有一个基于 Laravel Homestead 的 vagrant 服务器 用于在本地测试我的 Laravel 站点 大部分情况下它运行得很好 然而 最近 我遇到了问题 它会停止几分钟 典型 到几个小时 罕见 这种情况每 15 分钟左右就
  • 如何使用java与防火墙(路由器)建立ssh连接?

    由于某种原因 我需要连接到防火墙 基于Linux 并使用Java添加一些规则 用google搜索了一段时间后 我发现jsch是我最好的选择 但是当我 用它来执行命令 显示主机名 例如 返回错误 如果我 执行类似命令 ls l and who
  • 通过 SFTP 克隆 Git 存储库

    每次我尝试克隆 Git 存储库时都会遇到致命错误 我运行这个 git clone sftp email protected cdn cgi l email protection git foobar git 我得到这个 fatal Unab
  • 通过 SSH 的 Pygame 不注册击键(Raspberry Pi 3)

    所以我得到了 raspi 3 和简单的 8x8 LED 矩阵 在玩了一些之后 我决定用 pygame 的事件制作一个简单的蛇游戏 显示在该矩阵上 我之前没有 pygame 的经验 除了 LED 矩阵之外 没有连接任何屏幕 显示器 所以最初的
  • 如何将命令作为参数传递给 ssh [重复]

    这个问题在这里已经有答案了 我的需要是让这个命令起作用 sshpass p XXXX ssh oStrictHostKeyChecking no email protected cdn cgi l email protection sudo
  • SSH 到 Openshift 服务器失败

    我正在 openshift 服务器上使用 jboss catridge 我希望与其他人共享此实例并添加其他用户的公钥 id rsa pub 当其他人尝试访问该实例时 他会收到以下错误 我在他的实例中尝试了同样的方法 但看到了同样的错误 与
  • GoLang ssh:尽管将其设置为 nil,但仍出现“必须指定 HosKeyCallback”错误

    我正在尝试使用 GoLang 连接到远程服务器 在客户端配置中 除了用户和密码之外 我将 HostKeyCallback 设置为 nil 以便它接受每个主机 config ssh ClientConfig User user HostKey
  • Composer 用于下载私有 GitHub 存储库

    我无法使用 Composer 下载 github 私人存储库 php composer phar update 我收到以下错误 The https api github com repos company private1 https ap
  • 无法从 Sourcetree 拉取 Git 远程存储库

    我生成了 ssh 密钥并配置了我的 git 和 SourceTree 我可以 git pull 并从 Git bash 执行其他操作 注意 我在 bashrc 中添加了以下内容以使其正常工作 eval ssh agent ssh add 然
  • 如何用python脚本控制TP LINK路由器

    我想知道是否有一个工具可以让我连接到路由器并关闭它 然后从 python 脚本重新启动它 我知道如果我写 import os os system ssh l root 192 168 2 1 我可以通过 python 连接到我的路由器 但是

随机推荐

  • 数值概率算法

    基本概念 计算定积分 rand和srand 在解决设计问题时 有时会用到概率算法 概率算法允许在执行过程中随机的选择下一步的计算步骤 又是可使算法大大降低复杂度 提高算法效率 但有时也可能得不到问题的全部答案 基本概念 概率算法大致分为4类
  • 【Python】list.append()字典在for循环中数据覆盖的分析与解决

    问题 预期打印出来的list为 num 0 num 1 num 2 结果为 num 2 num 2 num 2 list dictionary num for i in range 3 dictionary num i list appen
  • 安装bootstrap

    导入软件源的 GPG key 并且添加 Yarn APT 软件源到你的系统 curl sS https dl yarnpkg com debian pubkey gpg sudo apt key add echo deb https dl
  • USB

    usb有主从设备之分 主设备有 pc 现在市面上的那些插u disk即可播放mp3的 mp3 之类的 usb 信号是差分信号 信号线为D D 在usb host 端 D D 各接一个15kohm 的下拉电阻 而在usb device端 这时
  • ue打开服务器文件速度很慢,看完大牛这篇文章,再遇到服务器反映慢的情况就不怕了...

    最近服务器反映很慢 查看服务器上的应用程序经常出现超时等等 而且还有时候出现卡死的情况 经过发现服务器I O压力很大 压力来自硬盘的I O访问已经达到100 最后原因是线上业务代码同一时间写入导致服务器硬盘I O爆表了 我这里纪录一下为了方
  • Hadoop集群搭建记录

    本文目录 写在前面 step1 安装openssh server step2 ssh文件夹的创建及生成密钥文件 step3 传送该文件 step4 slave1 slave2节点操作 step5 所有节点最终配置 免密登录成功 写在前面 本
  • 原来早就有java代码规范

    happy 最近几天 研究代码规范 想给给公司制定一个代码规范 公司很小 目前还没有代码规范 这个东西很烦人 也很难产生作用 小公司一般不采用吧 但现在为了提高代码质量 也就需要考虑了 今天 发现早在1997年 SUN公司就制定了java代
  • logit回归模型_混合logit模型(随机参数模型)的STATA应用及结果解读

    选择实验获得的数据主要通过离散选择模型来完成 离散选择模型中 最主要的是logit模型 之前已经介绍了二项logit模型回归的STATA实现 有修改 多项logit模型详解 多项logit模型回归系数解读 多项logit模型回归的检验 继续
  • spring boot AOP练习 @Aspect

    spring boot AOP练习 Aspect 环境
  • 【测评】用这款神器2小时就撸完了1天工作量的代码!爽

    目 录 一 写在前面 二 测评信息 三 测评体验 3 1 安装方便 3 2 始于颜值 3 2 1 简约美观的主题 3 2 2 多变时尚的风格 3 3 忠于强大 3 3 1 快捷的搜索 3 3 2 丰富的功能 3 3 3 开发者神器 3 4
  • [LeetCode] 811. 子域名访问计数

    题目描述 一个网站域名 如 discuss leetcode com 包含了多个子域名 作为顶级域名 常用的有 com 下一级则有 leetcode com 最低的一级为 discuss leetcode com 当我们访问域名 discu
  • python android 录制屏幕

    def settingtime while True starttime time strftime H M S recordcmd adb shell screenrecord sdcard demo mp4 pullfile adb p
  • 开发者的时代红利在哪里?

    2021 年和 2022 年 也许给很多人上了一场关于 风险意识教育 的课程 无论你是 最难 毕业季中的应届毕业生 还是在职场中苦寻事业道路的各行从业者 这一课众生平等 在疫情影响之下 经济大环境动荡 要想在市场下行的背景下全身而退 就需要
  • c++拷贝构造函数(深拷贝,浅拷贝)详解

    一 什么是拷贝构造函数 首先对于普通类型的对象来说 它们之间的复制是很简单的 例如 int a 100 int b a 而类对象与普通对象不同 类对象内部结构一般较为复杂 存在各种成员变量 下面看一个类对象拷贝的简单例子 include
  • 引入wangeditor 报错 error in ./node_modules/@wangeditor/editor/dist/index.esm.js

    ERROR Failed to compile with 1 errors 17 53 12 error in node modules wangeditor editor dist index esm js Module parse fa
  • Mac升级之后已破解的intellij idea无法启动

    打开终端 进入 gt gt gt Users ethan Library Application Support JetBrains IntelliJIdea 对应版本 gt gt gt vim idea vmoptions 删除之前配置的
  • Struts2反序列化漏洞复现

    环境 vulhub 环境搭建 进入s2 048目录 切换root用户 启动漏洞环境 docker compose up d 漏洞复现 浏览器访问 showcase Gangster Name输入 233 233 其余随便填 将Gangste
  • Linux服务器遭受黑客攻击时的日志分析排除

    0x00 前言 Linux系统拥有非常灵活和强大的日志功能 可以保存几乎所有的操作记录 并可以从中检索出我们需要的信息 本文简介一下Linux系统日志及日志分析技巧 0x01 日志简介 日志默认存放位置 var log 查看日志配置情况 m
  • Postman 如何进行参数化

    前言 Postman作为一款接口测试工具 受到了非常多的开发工程师的拥护 那么做为测试 了解Postman这款工具就成了必要的了 这篇文章就是为了解决Postman怎么进行参数化的 全局变量 全局变量是将这个变量设置成整个程序的都可以用 不
  • SSH客户端工具——PuTTY(1)

    引言 本文介绍了SSH客户端工具PuTTY的下载和在Windows下的安装方法 怎么使用PuTTYgen生成SSH密钥对 以及如何通过PuTTY远程登录SSH服务器 一 安装PuTTY PuTTY是在Windows平台下常用的SSH客户端工