ssh和putty

时间:2022-10-18 09:09:22

SH(Secure Shell的缩写),由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。咱们传统的远程网络服务如ftp、telnet等在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。当如果出现第三方假冒服务器来接收到咱们发送过去的明文数据时,此时可能就会发生严重问题。但是如果通过使用SSH,你可以把所有传输的数据进行加密,这样恶意用户的这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、POP甚至为PPP提供一个安全的"通道"。

ssh协议目前有SSH1和SSH2,SSH2协议兼容SSH1。目前实现SSH1和SSH2协议的主要软件有OpenSSH和SSH Communications Security Corporation 公司的SSH Communications 软件。前者是OpenBSD组织开发的一款免费的SSH软件,后者是商业软件,因此在linux、FreeBSD、OpenBSD、NetBSD等免费类UNIX系统种,通畅都使用OpenSSH作为SSH协议的实现软件。

咱们现在安装的Linux版本,都会装有SSH,默认就是OpenSSH,可以通过 ssh -V 命令来查看安装的ssh版本信息:

[root@xiaoluo xiaoluo]# ssh -V
OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010

从上述信息可以看到,我这台安装在虚拟机上的CentOS7默认安装的SSH其协议是1.0的。

ssh类似于咱们windows操作系统上的telnet程序,可以远程登录到远端的服务器,在通过ssh登陆到了远端的Linux服务器以后,咱们就相当于实际登陆了Linux系统一样,可以对其进行操作,同时文件上传、下载、这些都可以非常轻松的搞定,可以说,在学习SSH之前,Ftp、Samba这些咱们是要必须掌握的,但是在学习了SSH以后,这些服务器都是浮云了。。。。。。。

咱们Linux系统在安装时都会安装好了ssh服务器,刚才我们通过了 ssh -V 这个命令可以查看到我们系统上安装的ssh服务器版本信息,所以我们不需要再安装ssh服务端了,在Linux系统中,ssh服务器的服务名称是 sshd ,我们可以通过 chkconfig --list | grep sshd 命令来查看一下sshd服务的开机启动情况

[root@xiaoluo xiaoluo]# chkconfig --list | grep sshd
sshd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

默认情况下,Linux系统在启动时,sshd服务就会启动,咱们不需要去改变它。因为ssh也是一种网络服务,所以其必然也绑定了一个端口号,在Linux系统中,ssh服务绑定的端口号是 21 ,咱们可以通过 netstat -anp | grep sshd 命令来查看sshd服务绑定的端口号是多少:

[root@xiaoluo xiaoluo]# netstat -anp | grep sshd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2140/sshd

因为Linux上安装的是ssh服务端,所以咱们如果希望通过远程访问的方式登录到这台服务器上,比如我要在windows系统上远程登录到ssh上,咱们就得在windows上安装一个ssh客户端,现在的ssh客户端软件都非常多,大家可以选择一个下载,例如有:

Absolute Telnet (http://www.celestialsoftware.net/)

putty (http://www.putty.org/)

Xshell4 (http://www.netsarang.com/products/xsh_overview.html)

这里我使用的是putty这个ssh客户端。

注意:在使用ssh登陆到远程的Linux系统上时,首先必须要保证该主机要能够与Linux系统之间能互相 ping 通,否则ssh是无法建立远程连接的

putty文件:

putty.exe 远程操作

PUTTYGEN.EXE:公钥产生

PSCP.EXE和PSFTP.EXE两个用于文件的下载和上传。

PLINK.exe