1. 下载与安装

可以下载putty-0.63-installer.exe(http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html),它是一个集成安装包,不仅包含了PuTTY,还包含了PuTTYgen,psftp等。

一路Next,默认安装即可。

2. 配置网络

1. 在配置网络之前,先使用ifconfig命令查看VirtualBox中CentOS系统的网络设置情况,对其做一个备份,然后需要关闭VirtualBox中的CentOS系统在进行下面的设置。

[root@CentOS66 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr :::C3::
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fec3:/ Scope:Link
UP BROADCAST RUNNING MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (11.1 KiB) TX bytes: (3.2 KiB) lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::/ Scope:Host
UP LOOPBACK RUNNING MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (960.0 b) TX bytes: (960.0 b)

2. WirtualBox 网络设置有多种方式,比如 NAT network,Bridge Adapter, Host only Adapter 等方式,为了简便,我们使用Bridge Adapter方式。这种方式 Guest OS和Host OS的IP地址在同一网段内,网络地位是对等的。

在Host OS(Win7)中 查看IP地址

描述. . . . . . . . . . . . . . . : Intel(R) Dual Band Wireless-AC  #
DHCP 已启用 . . . . . . . . . . . : 是
自动配置已启用. . . . . . . . . . : 是
IPv4 地址 . . . . . . . . . . . . : 192.168.1.105(首选)
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 192.168.1.1
DHCP 服务器 . . . . . . . . . . . : 192.168.1.1
DNS 服务器 . . . . . . . . . . . : 202.106.46.151
202.106.195.68

3. 在VirtualBox主控制界面左侧选中CentOS系统->点击主控制界面中的Settings按钮->在左侧选择“Network”->在右侧的“Adapter 1”选项卡

连接方式(Attached to)选择 “Bridge Adapter”(默认选择是NAT,不是NAT network),Name选择 Host OS 上对应的物理网卡(,它会自动选择的,也就是上面的“Intel(R) Dual Band Wireless-AC 3160 #2”),其他保持默认,然后点击确定。

4. 启动CentOS,查看其IP地址,可见, CentOS的IP和宿主机Win7的IP在同一网段内了。

[root@CentOS66 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr :::C3::
inet addr:192.168.1.110 Bcast:255.255.255.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fec3:/ Scope:Link
UP BROADCAST RUNNING MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (11.7 KiB) TX bytes: (3.5 KiB) lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::/ Scope:Host
UP LOOPBACK RUNNING MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (960.0 b) TX bytes: (960.0 b)

5. 检验Host OS和Guest OS能否ping通。

(1) Guest OS 中ping Host OS,能ping通

[root@CentOS66 ~]# ping 192.168.1.105
PING 192.168.1.105 (192.168.1.105) () bytes of data.
bytes from 192.168.1.105: icmp_seq= ttl= time=1.08 ms
bytes from 192.168.1.105: icmp_seq= ttl= time=0.578 ms
bytes from 192.168.1.105: icmp_seq= ttl= time=0.506 ms
bytes from 192.168.1.105: icmp_seq= ttl= time=0.511 ms

(2) Host OS中ping Guest OS,能ping通

C:\Users\msi>ping 192.168.1.110

正在 Ping 192.168.1.110 具有  字节的数据:
来自 192.168.1.110 的回复: 字节= 时间<1ms TTL=
来自 192.168.1.110 的回复: 字节= 时间<1ms TTL=
来自 192.168.1.110 的回复: 字节= 时间<1ms TTL=
来自 192.168.1.110 的回复: 字节= 时间<1ms TTL= 192.168.1.110 的 Ping 统计信息:
数据包: 已发送 = ,已接收 = ,丢失 = (% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 0ms,平均 = 0ms

3. PuTTY远程登录

3.1 使用密码直接登录

1. 打开PuTTY,在Session选项卡中,输入CentOS的IP地址,Saved Sessions:取一个容易记忆的名字,其他保持默认。

2. 设置字符集

单击左侧的 Windows->Translation, Remote Character set 选择“UTF-8”。

3. 保存此设置

再次点击左侧的Session,然后单击右侧的“Save”,保存此次的设置。

4. 登录

点击“Save”保存设置后,点击最下方的“Open”按钮登录。

初次登陆时,会提示是否信任该Host,选”是“,然后会提示输入用户名密码。以root用户登录。输入root用户密码,这样就能登录到CentOS了。

3.2 使用SSH密钥登录

1. 生成密钥对

打开PuTTYgen,然后单击Generate按钮,这样就开始生成密钥了。注意:要不停的在PuTTYgen窗口的空白处点击鼠标,它会使用这些点击数据来生成密钥,这样不停击鼠标会加快密钥生成的速度。

”Key commetn“保持默认,”Key passphase“是给密钥设置的密码,可以留空(我这里留了空,没有设置)。”Confirm passphase“仍然留空。

2. 保存私钥

单击”Save private key“保存私钥,选择一个存放路径,并定义一个名称(C:\Users\msi\.ssh\PuTTY_SSH_Private_Key.ppk),单击保存按钮。把它保存在一个比较安全的地方,谨防丢失或泄漏。

3. 复制公钥到CentOS

PuTTYgen窗口的”Key“下方的长字符串,是公钥的内容,将其复制下来,然后在CentOS中做如下操作(也可以在上一节中用密码直接登录的PuTTY窗口中操作):

# mkdir /root/.ssh (如果已存在.ssh目录,则不必再创建)
# chmod 700 /root/.ssh (如果.ssh目录的权限已经是drwx------,则不必再执行此条命令)
# vim /root/.ssh/authorized-keys (然后将公钥的内容粘贴到该文件中)

粘贴后,按ESC键,然后输入:wq保存并退出vim。

4. 关闭seLinux

seLinux是CentOS的一种安全机制,如果不关闭seLinux,使用密钥登录会提示:”Server refused our key“。若要永久关闭seLinux,需编辑下面的文件:

# vim /etc/selinux/config

将 SELINUX=enforcing 这一行,改为 SELINUX=disabled。

5. 然后重启系统。

6. 打开PuTTY,在”Session“页面,单击选择已保存的”CentOS-6_6“,然后单击”Load“按钮,将保存的配置加载。

然后单击左侧的”Connection“下的”SSH“,展开后单击”Auth“,找到”Private key file for authentication:“,单击右面的”Browse“按钮,找到事先保存的私钥(C:\Users\msi\.ssh\PuTTY_SSH_Private_Key.ppk)打开。

7. 然后再次单击左侧的Session,起一个新名字: CentOS_6_6_SSH,然后单击右侧的“Save”,保存此次的设置。

8. 点击“Save”保存设置后,点击最下方的“Open”按钮登录。

结果还是提示”Server refused our key“。也就是说前面的配置都不成功。功亏一篑。

3.3 使用SSH密钥登录续

原来原因在于生成私钥文件的步骤是在windows下的,也就是说用puttygen这个工具生成公钥私钥,然后将公钥拷贝到linux下,再用私钥访问目前存在一些问题。

解决方案就是反过来使用linux生成私钥公钥文件,然后将生成的私钥文件拷贝至window下,用puttygen.exe加载(load)它生成putty支持的私钥文件,再用该文件访问。【2】

1. 以root用户登录CentOS,然后键入命令:

# ssh-keygen -t dsa

生成公钥私钥文件,它会提示你保存位置,以及是否设置密码,直接按Enter即可。你会在/root/.ssh隐藏文件夹下找到他们。

2. 修改公钥文件的名字id_dsa.pub >> authorized_keys

# mv .ssh/id_dsa.pub .ssh/authorized_keys

3. 将私钥文件id_dsa拷贝到你的windows下,打开PuTTYgen,然后点击load,对话框中的文件类型选择所有,load 这个id_dsa文件后,save private key,保存到一个目录下(不要保存到C:\Users\msi\.ssh目录下,好像不起作用,我保存到了D:\LinuxVirtual目录下)。按照上一节的介绍,PuTTY加载这个新生成的私钥就可以访问linux了。

参考资料

【1】 《跟阿铭学Linux 》 Chapter 3远程登录Linux系统

【2】关于使用putty私钥连接linux出现失败的原因解决方案(http://blog.csdn.net/magic_zj00/article/details/7470023)

CentOS 6.6 配置PuTTY远程登录的更多相关文章

  1. Putty远程登录VMware虚拟机Linux(Ubuntu12.04)

    为了不至于来回在Win7和Ubuntu12.04之间来回切换,在Win7下使用VMware9.0安装了Ubuntu12.04. 首先下载Vmware9.0虚拟机软件,下载地址为:VMware-work ...

  2. 使用Dockerfile文件制作centos6.8基础镜像,基于centos基础镜像的ssh远程登录镜像,jdk1.8镜像,tomcat镜像,elasticsearch镜像等等

    一.首先制作一个centos6.8的裸机镜像 创建一个干净的目录: [root@docker centos6.]# ls c68-docker.tar.xz Dockerfile Dockerfile ...

  3. VM下的linux系统上不了网?? 使用putty远程登录不上linux的解决方法?

    背景:昨晚想尝试一下用putty远程登录我的linux系统,悲剧的是,我竟然连接不上,显示 connection refused   ,连接被拒绝.于是我就想看看能不能在linux下看看能不能访问百度 ...

  4. 使用putty远程登录Ubuntu时,报Network error:Connection refused错误及解决

    putty远程登录Ubuntu,弹出Network error:Connection refused的错误提示框,就是因为Ubuuntu没有安装ssh服务. 执行命令: sudo apt instal ...

  5. 使用putty远程登录Ubuntu时,报Network error:Connection refused错误

    putty远程登录Ubuntu,弹出Network error:Connection refused的错误提示框,就是因为Ubuuntu没有安装ssh服务.执行命令: sudo apt-get ins ...

  6. 使用putty远程登录Ubuntu时,报Network error:Connection refused错误及解决(记录)

    putty远程登录Ubuntu,弹出Network error:Connection refused的错误提示框,就是因为Ubuuntu没有安装ssh服务.执行命令: sudo apt-get ins ...

  7. 华为交换机如何配置SSH远程登录,一分钟秒学会

    从事网络运维工作的小伙伴们都知道,在交换机正式上线时,必须完成配置SSH远程登录,这样做目的是为了日后,维护方便,不需要每次登录设备都要跑到机房,这样既不现实,又费事. 远程登录方式 目前网络设备中主 ...

  8. 【CentOS】虚拟机网络配置与远程登录

    ////////////////////////////////////11月16日更新////////////////////////////////////////////////////// 一 ...

  9. Linux系列之putty远程登录

    在工作中,我们通常都是通过远程操作Linux服务器的,因此必须熟悉一些远程登录的软件,在此使用的是putty,在Windows上安装putty软件,通过该软件访问Linux主机. 1.远程登录步骤 1 ...

随机推荐

  1. Mono、Unity和Xamarin三者关系

    1.Mono: .net是微软出的标准.如果站在Mono的角度来说,这套标准能规定编译器产生一些符合一定条件的文件出来,这些中间文件最后在目标平台上被解析成跟机器相关的东西.问题是,开始只有Windo ...

  2. 设计模式之美:Decorator(装饰)

    索引 别名 意图 结构 参与者 适用性 缺点 效果 相关模式 实现 实现方式(一):Decorator 对象的接口必须与它所装饰的 Component 的接口保持一致. 实现方式(二):省略抽象的 D ...

  3. Kali Linux Web 渗透测试视频教程—第十一课-扫描、sql注入、上传绕过

    Kali Linux Web 渗透测试视频教程—第十一课-扫描.sql注入.上传绕过 文/玄魂 原文链接:http://www.xuanhun521.com/Blog/2014/10/25/kali- ...

  4. Hive性能优化

    1.概述 继续<那些年使用Hive踩过的坑>一文中的剩余部分,本篇博客赘述了在工作中总结Hive的常用优化手段和在工作中使用Hive出现的问题.下面开始本篇文章的优化介绍. 2.介绍 首先 ...

  5. 微软BI 之SSIS 系列 - 使用 Script Component Destination 和 ADO.NET 解析不规则文件并插入数据

    开篇介绍 这一篇文章是 微软BI 之SSIS 系列 - 带有 Header 和 Trailer 的不规则的平面文件输出处理技巧 的续篇,在上篇文章中介绍到了对于这种不规则文件输出的处理方式.比如下图中 ...

  6. Windows 10 技术预览

    windows10的技术预览版已经发布了很久了,正式版大约在今年的夏天就会发布,作为微软寄予厚望的下一代全平台操作系统,相比于windows8.1,windows10做了哪些改进,又添加了哪些新功能. ...

  7. thrift之TTransport层的分帧传输类TFramedTransport

    帧传输类就是按照一帧的固定大小来传输数据,所有的写操作首先都是在内存中完成的直到调用了flush操作,然后传输节点在flush操作之后将所有数据根据数据的有效载荷写入数据的长度的二进制块发送出去,允许 ...

  8. [Java拾遗四]JavaWeb基础之Servlet_Request&&Response

    今天来回顾下之前学过Servle的Resquest以及Response的知识.1,Request和Response技术:    rr的作用:        request是请求,封装用户的请求信息.若 ...

  9. [数据库操作]Java中的JDBC的使用方法.

    前言:想必大家在实际编码中都遇到过JDBC的操作, 这里仅做自己的一个总结, 有错误和不完整之处还请大家提出来. 1,JDBC其实一套规范(接口)数据库厂商需要实现此接口(实现类)--数据库驱动 2, ...

  10. C语言实现二叉树-01版

    故事是这样开始的,项目经理有一天终于还是拍拍我肩膀说: 无论你的链表写得多么的好,无论是多么的灵活,我也得费老半天才查找到想要的数据: 这让我的工作非常苦恼,听说有一种叫做二叉树的数据结构,你看能不能 ...