PuTTY远程连接Kali Linux笔记
SSH协议介绍
SSH(Secure Shell):中文名称为安全外壳协议,是建立在应用层基础上的安全协议。SSH协议由三个部分组成:传输层协议[SSH-TRANS]
、用户认证协议[SSH-USERAUTH]
、连接协议[SSH-CONNECT]
。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
SSH安全验证机制
从客户端来看,SSH提供两种级别的安全验证:
-
基于口令的安全验证
只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。
-
基于密匙的安全验证
需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。
用这种方式,你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。
第二种级别不仅加密所有传送的数据,而且“中间人”这种攻击方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能需要10秒。
PuTTY实现Kali Linux的远程登陆
对于 Linux 系统而言,SSH服务是默认启动的,但有时后并没有开启,接下来将以 Kali Linux 系统为例,介绍SSH服务设置方法。
- 修改 sshd_config 文件,命令:
vi /etc/ssh/sshd_config
将 #PasswordAuthentication yes
的注释符#去掉(Kali Linux中默认为 yes);
将 #PermitRootLogin without-password
修改为 PermitRootLogin yes
保存退出(先用 Esc 推出 Insert 模式,然后输入:wq
保存退出)。
- 启动SSH服务,命令:
/etc/init.d/ssh start
或者service ssh start
如果要查看SSH服务状态则使用 /etc/init.d/ssh status
或者 service ssh status
.
- 下载并启动PuTTY
启动界面:
在Host Name(or IP address)中输入 Kali Linux 的 IP 地址,如果不知道就在 Kali Linux 系统中使用 ifconfig
进行查询,输入后,端口号22不用改(SSH默认端口),选择SSH然后点击Open,即可连接。