Putty实现自动登陆远程Linux主机的方法

所属分类: 脚本专栏 / linux shell 阅读数: 1377
收藏 0 赞 0 分享

由于工作需要,经常要从 Windows 主机访问远程的 Ubuntu 服务器,每次输入账号和老长的密码,感觉很麻烦,于是参考网上的教程简单的设置了一下就能自动登陆远程主机了,非常的方便。

虽然 Putty 也提供了 puttygen.exe 生成公/密钥,但是和 Linux 主机生成的 KEY 格式不同,需要手工修改格式,所以采用 Linux 主机自己生成 KEY 的方式。

首先登陆到 Linux 主机,具体过程如下:

1. 生成公钥和密钥

复制代码 代码如下:

verdana@hostname:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/verdana/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/verdana/.ssh/id_rsa.
Your public key has been saved in /home/verdana/.ssh/id_rsa.pub.
The key fingerprint is:
51:51:da:44:28:b5:83:de:d2:1e:60:4f:81:c9:f1:1a verdana@hostname.com

注意 passphrase 留空。

2. 将公钥内容追加到 authorized_keys

复制代码 代码如下:

# 若 authorized_keys 已经存在,则跳过 touch 创建文件这一步
verdana@hostname:~/.ssh$ touch authorized_keys
verdana@hostname:~/.ssh$ cat id_rsa.pub >> authorized_keys

3. 下载密钥并转换为 Putty 可识别的格式
Putty 无法识别 Linux 主机生成的的密钥,所以需要用 puttygen.exe 转换一下。
a) 使用 FTP 软件或者其它方式将生成的密钥 id_rsa 拷贝到客户端主机,这里我的客户端是 Vista 系统
b) 打开puttygen.exe,点击菜单上的:转换->导入密钥->保存密钥(如:id_rsa.ppk),密钥即转换完成,这里不设置密码保护

4. 设置 Putty

打开 Putty
a) 会话,主机名称填入:user@remote-host,user 是你的 Linux 主机登陆名称,remote-host 是 IP 或者远程主机域名,比如: root@phpvim.net
b) 连接->SSH->认证->浏览,选择刚才转换后的密钥(id_rsa.ppk),之后保存会话即可。

5. 使用 Cygwin?

如果使用的 Cygwin 的 ssh 登录远端服务器的话,只需要把第3步生成的密钥 id_rsa (无需任何转换)拷贝至 Cygwin 用户的 .ssh 目录即可。

更多精彩内容其他人还在看

Shell脚本中计算字符串长度的5种方法

这篇文章主要介绍了Shell脚本中计算字符串长度的5种方法,来自于个人Shell脚本长期的开发经验,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell脚本实现把进程负载均衡到多核CPU中

这篇文章主要介绍了Shell脚本实现把进程负载均衡到多核CPU中,可以把进程指定运行在某个CPU中,需要的朋友可以参考下
收藏 0 赞 0 分享

5个Shell脚本编程入门练习例子

这篇文章主要介绍了5个Shell脚本编程入门例子,涵盖了各种操作,又有一些游戏的性质,作为入门练习例子是不很不错的,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell脚本编程中常用的数学运算实例

这篇文章主要介绍了Shell脚本编程中常用的数学运算实例,包含最基本的加减乘除,还有质数、偶数的判断等,需要的朋友可以参考下
收藏 0 赞 0 分享

5个实用的shell脚本面试题和答案

这篇文章主要介绍了5个实用的shell脚本面试题和答案,给出的脚本堪称编码规范,麻雀虽小,异常处理,友好提示,一应俱全,值得学习,需要的朋友可以参考下
收藏 0 赞 0 分享

使用bash shell删除目录中的特定文件的3种方法

这篇文章主要介绍了使用bash shell删除目录中的特定文件的3种方法,分别为扩展模式匹配符、GLOBIGNORE 变量和find 命令,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell获取文件的文件名和扩展名的例子

这篇文章主要介绍了Shell获取文件的文件名和扩展名的例子,简明版的代码实例,看了就懂,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell多线程操作及线程数控制实例

这篇文章主要介绍了Shell多线程操作及线程数控制实例,文中从单线程实现一个需求开始,不断加入代码实现多线程以及线程数的控制功能,需要的朋友可以参考下
收藏 0 赞 0 分享

阿里云主机一键安装lamp、lnmp环境的shell脚本分享

这篇文章主要介绍了阿里云主机一键安装lamp、lnmp环境的shell脚本分享,需要的朋友可以参考下
收藏 0 赞 0 分享

shell脚本转发80端口数据包给Node.js服务器

开发基于Node.js的WEB应用很方便,但是服务端口问题很蛋疼,由于Linux内核规定普通用户只能使用大于1024的端口号,所以使用普通用户运行Node.js服务就不能监听80端口
收藏 0 赞 0 分享
查看更多