用 PuTTYgen 来生成密钥,以后可以不用密码登录服务器了
PuTTYgen 是密钥生成器,用来生成一对公钥和私钥供 PuTTY、PSCP、Plink、Pagent 来使用。直接运行 PuTTYgen 可以看到如下的界面。
点击 Generate 按钮就开始生成一个公钥和私钥对,生成完毕后,点下面的 Save private key 就可以把私钥保存起来,扩展名是 .ppk 的文件。
Load 按钮可以把先前保存的私钥重新打开,然后做些修改,比如修改注释和私钥口令,或者把 PuTTY 格式的私钥转换为 OpenSSH 格式的。
开始用 PuTTYgen 创建密钥
单击 Generate 按钮,然后你会看到进度条上面有个提示“Please generate some radomness by moving the mouse over the blank area.”,意思就是让你用鼠标在空白区域随机移动。随着鼠标在空白区域的移动,进度条会一直走下去。停止移动鼠标,进度条也就停止了。那我们就移动鼠标,直到进度条走满为止。
等进度条走完之后,会出现下面的界面
最上面那个大大的只读文本框里面是公钥,用来保存到 OpenSSH 的 authorized_keys 文件中,这个文件中的每一行都是一个公钥。默认情况下,这个文件位于 Linux 用户主目录的 .ssh/ 子目录中,如果文件和目录都不存在,可以直接创建。
但是创建的文件、目录和用户主目录($HOME, $HOME/.ssh, $HOME/.ssh/authorized_keys)的权限有个限制就是对除了本帐户的其他所有帐户都要求是只读的,否则的话,即使公钥、私钥都匹配无误,也是无法登入系统的。这是 SSH 服务器的一个安全要求,因为如果别的帐户可以修改你的 authorized_keys 的话,恶意的增加一个公钥,那对方不用你的帐户口令也能以你的帐户登入系统了。对于一些特殊要求,你可以在 SSH 服务器的配置文件 sshd_config 中用指令
StrictModes no
来取消这个限制。在 sshd_config 的帮助手册中可以看到
StrictModes
Specifies whether sshd should check file modes and ownership of
the user’s files and home directory before accepting login. This
is normally desirable because novices sometimes accidentally
leave their directory or files world-writable. The default is
“yes”.
小技巧:每次修改 authorized_keys 这个文件时,你可以用如下的命令来修改,确保所有的文件属性和权限无误
mkdir -p $HOME/.ssh && touch $HOME/.ssh/authorized_keys \
&& chmod go-w $HOME $HOME/.ssh $HOME/.ssh/authorized_keys && vim $HOME/.ssh/authorized_keys
还有一个要强调的是那个 Key comment,这是密钥的注释,一定要修改。因为这个密钥是给自己用的,所以最起码要输入自己的名字,用默认的注释很容易和其他人的密钥混淆的。如果担心自己的密码忘记了,可以在后面加上密码提示,当然了,不要让别人用注释猜出你的密钥口令。比如,我可以把注释修改为
ChaiFeng [20061120] w.z.
后面的 w.z. 就是我的密码提示,能猜出来么?呵呵
输入注释,上面的公钥也会随之发生变化。
现在最重要的是,输入自己的密钥口令。就是 Key passphrase 和 Confirm passphrase 这个两个输入框。
如果不输入口令,直接保存私钥会看到这个提示。为了安全起见还是输入口令吧,要不任何人得到这个私钥都可以不用口令登入系统了。
最后单击 Save private key 来保存私钥吧,保存到自己认为安全的地方,比如存放到私人的 USB 闪存盘上。需要登录时,插上 USB 闪存盘。登录完毕后就可以把 USB 闪存盘取下来,哈哈,这样子就比较安全了。
大家也注意到了,还有个 Save public key 按钮,这个是保存 SSH2 格式的公钥,有些 SSH 服务器要求用这种格式的公钥文件。一般情况下,我们是不需要的,所以这里也就保存了。以后还想的话,就用 PuTTYgen 把私钥 Load 出来,然后再保存也可以。
用密钥登录服务器的流程
上面杂七杂八的说了一堆创建密钥时的事情,大家会不会已经有些乱了呢?我把这个过程再罗列一遍:
- 如果没有公钥/密钥对,就用 PuTTYgen 创建一个,已经有了就可以忽略这一步。一个公钥/密钥对可以用在不同的服务器上,所以也不需要重复创建,关键要有足够强健的密码和安全的存放。
- 象先前一样输入帐户名和口令登录到主机上。
- 输入如下命令,来编辑 authorized_keys 文件
mkdir -p $HOME/.ssh && touch $HOME/.ssh/authorized_keys \
&& chmod go-w $HOME $HOME/.ssh $HOME/.ssh/authorized_keys && vim $HOME/.ssh/authorized_keys
- 把
这个文本框里的公钥粘贴到 vim 中去,需要说明几点:这个文本框里的内容是一行的,粘贴到 vim 中时,别忘了按字母 o 这个键,否则的话,粘贴进去后,开头的 ssh-rsa 会变成 sh-rsa,为什么呢?哈哈,想想吧。
为什么不按字母键 i 呢?这个在 vim 中不就是插入么?原因是我很懒,按字母 o,我可以节省一次按回车键。虽然按大写 O 也行,那我不是还得再按一下 Shift 键么?
别忘了,在 PuTTY 中默认的粘贴可是按鼠标右键哦,然后按一下 ESC 键,然后输入 :wq 保存退出,等等,大家先别着急的输入 :wq,既然输入冒号还得按下 Shift 键,那我们就干脆直接两下大写的字母 Z,也就是 ZZ。怎么样?vim 也一样保存退出了吧。这次又节省了一次按键和两次寻找字母的移动,把懒得优良传统再一次在实践中发扬光大。
- 如果已经有了私钥,第4步里的那个公钥忘记保存了,就用 PuTTYgen 把这个私钥 Load 上去,然后重新复制一下公钥吧。
- 在 PuTTY 的配置 Connection->SSH->Auth 这里面,指定上私钥,然后记得保存 Session,以后就不需要重复这一步了。
最好也指定上自动登录的用户名,还记得这里吗?
开始登录吧,这次你会看到一个不同于以往的登录提示
- 现在输入的口令可不是主机上这个账户的口令了,而是先前创建的这个密钥的口令。以后不管这个账户的口令是什么,即使再复杂,也和我们没关系了。只要这个账户的 $HOME/.ssh/authorized_keys 文件中,有我们的公钥,我们就随时用匹配的私钥都可以登录了。配合后面提到的 Pagent,我们连输入密钥口令这一步也可以忽略过去。
- 登录成功了,别忘了按 Ctrl+d 注销哦。
server refused our key问题的解决
直接上方法:禁用系统的selinux功能,命令#setenforce0,但重启系统,selinux仍然启用。根治方法:更改SElinux的配置文件/etc/selinux/config,修改SELINUX=disabled。
分享到:
相关推荐
Putty是一款广受欢迎的开源SSH和telnet客户端,尤其在Windows...其增强的自动登录和配置保存功能使得日常运维工作更为便捷。然而,考虑到密码明文保存的安全性问题,建议用户在使用时结合使用密钥对认证以提升安全性。
原理:通过自定义协议,在网页中自动打开putty完成ssh登录 文件包含: regist-putty.reg : 向注册表注册putty协议(可更换) putty.bat: putty协议对应的处理脚本 test.html: 测试页面 风险提醒:本地调用putty可...
3. **设置PuTTY自动登录**: 运行PuTTY.exe,进入“Session”设置,输入远程服务器的IP地址。在“Connection”下的“Data”选项中,输入用于登录的用户名。在“SSH”下的“Auth”选项中,点击“Browse”选择你保存...
总的来说,PuTTY 6.0通过增加自动登录和密码保存功能,极大地提升了远程连接的效率和便捷性。然而,它也提醒我们,在追求便利的同时,不能忽视数据安全。在使用这些功能时,应谨慎评估风险并采取相应的安全措施。
PuTTY Connection Manager(PCMan)是一个第三方扩展工具,它能够管理多个PuTTY会话,并提供更高级的功能,如保存密码,实现一键自动登录。安装PCMan后,用户可以设置保存密码,以及是否在连接时自动登录。 - **...
中文版Putty,并且增加了快捷键用于在连接断开时重新连接,这比每次从系统菜单选择重新连接方便的多。 另外还增加了自动重连功能。从系统菜单勾选自动重连后,当异常断开时都会自动建立连接。 源代码:...
PuTTY Connection Manager 是一款非常棒的 PuTTY 增强工具。它使用 PuTTY 作为内核,保持 PuTTY 强大功能的同时,又增加了很多实用的功能。 通过它,可以实现 PuTTY 自动登录、多标签、多级会话目录树存储等功能。
总结来说,PuTTY和PuTTYgen的组合使用提供了安全的SSH连接方式,通过公钥/私钥认证,可以实现无密码自动登录远程服务器,提高了工作效率并增强了安全性。同时,通过创建快捷方式,进一步简化了登录流程。
在这个场景中,我们将探讨如何使用PUTTY自动将服务器上的备份文件取到本地。 首先,理解SSH协议是关键。SSH提供了一种加密的网络通信方式,确保数据传输的安全性。PUTTY基于此协议,通过输入服务器的IP地址、端口号...
PuTTY是一款广受欢迎的开源SSH和Telnet客户端,主要用于远程登录到Linux或Unix服务器。它以其简洁的界面和丰富的功能而受到许多IT专业人员的喜爱。标题提到的“putty支持保存用户名和密码”是指PuTTY的一项特性,...
### Putty实现自动登录远程Linux主机的方法 在日常工作中,我们常常需要从Windows主机访问远程的Linux服务器。传统的登录方式通常需要用户手动输入账号及密码,对于频繁进行远程操作的人员来说,这样的登录方式不仅...
PuTTY Connection Manager 是一款非常棒的 PuTTY 增强工具。它使用 PuTTY 作为内核,保持 PuTTY ... 通过它,可以实现 PuTTY 自动登录、多标签、多级会话目录树存储等功能。 使用说明见http://www.putty.ws/putty-cm
标题中的“使用public/private key让putty(ssh)自动登录”指的是通过SSH(Secure Shell)协议,使用公钥/私钥对实现Putty的无密码自动登录。这是一项提高远程服务器访问安全性和便利性的技术。 在SSH连接中,通常有...
PUTTY是一款广受欢迎的开源软件,主要用于通过SSH(Secure Shell)协议进行远程登录Linux主机。SSH是一种网络协议,用于安全地远程控制操作系统,确保数据在传输过程中被加密,避免了信息泄露的风险。PUTTY提供了...
执行上述批处理文件,即可自动完成登录和端口转发的设置。 3. **测试连接**: 在本地通过Redis客户端尝试连接`localhost:8787`,如果一切正常,就能够顺利访问到那台原本不可达的Redis服务器了。 #### 七、注意...
### Putty实现自动登录的方法(SSH与SSH2) 在日常工作中,通过远程连接工具进行服务器管理是必不可少的一个环节。而在众多远程连接工具中,Putty因其简单易用且功能强大而备受用户青睐。本文将详细介绍如何利用...
这样,每次连接时,PuTTY会自动使用私钥进行身份验证,提高安全性。 6. **会话管理**:PuTTY允许保存会话设置,以便下次快速连接。点击左侧的"Saved Sessions",输入一个名字,然后点击"Save"。下次启动PuTTY时,...
3. **设置连接参数**:在“类别”面板中,可以配置更多高级选项,如用户名(如果服务器支持自动登录)、终端类型、字体设置、颜色方案等。还可以预设这些设置,保存为一个会话配置,方便以后快速连接。 4. **安全...