SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。
传统的网络服务程序,如FTP、POP和Telnet其本质上都是不安全的;因为它们在网络上用明文传送数据、用户帐号和用户口令,很容易受到中间人(man-in-the-middle)攻击方式的攻击。就是存在另一个人或者一台机器冒充真正的服务器接收用户传给服务器的数据,然后再冒充用户把数据传给真正的服务器。
而 SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。透过 SSH 可以对所有传输的数据进行加密,也能够防止 DNS 欺骗和 IP 欺骗。
安装SSH:
yum install ssh
启动SSH:
service sshd start
设置开机运行:
chkconfig sshd on
一般默认CentOS已经安装了OpenSSH,即使你是最小化安装也是如此。
SSH配置:
1、修改vi /etc/ssh/sshd_config,根据模板将要修改的参数注释去掉并修改参数值:
Port 22 指定SSH连接的端口号,安全方面不建议使用默认22端口
Protocol 2,1 允许SSH1和SSH2连接,建议设置成 Protocal 2
其他参数根据自己的需要进行调整。配置方法详见: man ssh_config
2、修改hosts.deny 在最后面添加一行:
sshd:All
3、修改hosts.allow 在最后面添加一行:
sshd:All
如果为了安装可以限制访问的IP,设置如下:
sshd:192.168.0.101
sshd:192.168.0.102
上述配置表示只允许101和102的服务器进行SSH连接
4、启动SSH
/etc/init.d/sshd start
至此SSH已经可以连接了
输入连接IP
配置相关参数
选择utf-8支持中文显示
自动输入登录用户root
输入用户名后就可以连接到服务器
但是目前我们的SSH连接还需要输入密码,下面将介绍使用密钥进行连接,免去了输入密码的烦恼:
1、在被管理机上生产密钥
[root@localhost ~]# mkdir /root/.ssh [root@localhost ~]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): ##直接回车默认路径 Enter passphrase (empty for no passphrase): ##输入密码短语 Enter same passphrase again: ##重复密码短语 Your identification has been saved in /root/.ssh/id_rsa. ##如果在这里报错是因为SeLinux引起的按照Policy:yum install selinux-policy Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: aa:76:71:1e:51:fe:3b:4c:51:30:b2:90:55:e9:58:7c [email protected] The key's randomart image is: +--[ RSA 2048]----+ | .ooo+o | | ...o+.E | | o.+ o | | . o o | | S. . . | | ..o o | | .+ . o . | | ... . + | | ... . | +-----------------+
2、putty生产密钥
打开puttygen,如果没有该程序可以到putty官方网站下载。
点击Generate按钮后出现下图,在红框中不断移动鼠标知道密钥生成完成
上面的大红框就是我们生成的公钥、这个公钥用于放在被管理服务器上,而私钥放在自己的机器上。
Key comment是一个备注信息,如果是企业环境那么会有很多的公钥在一台机器上,为了识别的话一般都会根据每个人的自己定义一个备注。
可以使用邮箱或者工号,输入Key comment先复制下公钥,并点击Saved public Key 和 Saved Private Key保存两个密钥
接着打开密钥代理工具pageant.exe(同样可以在putty的官网下载),使用pageant.exe有一个很大的好处,如果你还需要使用putty的其他工具那么他们可以共享密钥验证,而不需要反复去设置密钥。
任务栏的pageant.exe图标右键选择view keys打开下面窗口。
点击Add key添加刚才保存的私钥。
3、被管理机密钥部署
将被管理机上刚才生产的id_rsa.pub复制成authrized.keys
[root@localhost .ssh]# cp id_rsa.pub authrized.keys[root@localhost .ssh]# chmod 600 authrized.keys ##这一步是必须的,否则连接不上
修改vi /root/.ssh/authrized.keys 删除原来的密钥,添加puttygen.exe生产的密钥(也就是前面复制的公钥)
sh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAh+gDpVSNIwBHZvmHS240AoueNHIgDHhczQ/fhiN/IdAQVdh7Ovw2pnJ4sd6so0kqCizsU7FOu2rvaK7vHC3QrrYmeqn94V595pYGLnMCbtEd7ONew47TU8wjtdldbc7liEmkTVIdkCbbrzQa372/u2LSjkldu2BUiXkevlnGNUc= hellwen.wu~~~~
保存退出。
4、打开putty登录
注意看上图中红色部分,如果你是经常连接这台机器的话建议输入IP并配置要后再Saved Sessions里输入识别名称并点击保存按钮,这样在列表框中就会长期保留该服务器的连接配置。