三、使用putty及xshell远程连接Linux、putty及xshell密钥认证
Linux系统通过SSHD服务实现远程登录功能。该服务默认开启22端口,安装完系统时,该服务已安装,且开启自启动。配置文件为/etc/ssh/sshd_config,可以更改端口为11587,但这个数字不要超过65535。
Windows系统登录Linux系统,需要安装一个Linux远程登录软件。如:putty,xshell等。
一、使用putty远程连接Linux
1.填写远程Linux的基本信息
Host Name(or IP address)填写服务器IP地址。
Prot(端口,可以改动)和Connection type采用默认设置
Saved Sessions自定义主机名
输入完点右侧的Save(保存)。
2.定义字符集
putty可以往前翻2000行。
Appearance:设置字体,点Change。
修改语言,单击左侧window下的Translation,查看右侧的Character set translation,选择UTF-8,再单击左侧Session,然后单击右侧的save按钮。
3.远程连接Linux
保存Session后,单击最下方的Open按钮。初次登录时,会弹出一个友情提示,意思是要打开的Linux还未在本机登记,问我们是否需要信任它。如果可以信任,则单击“是”在该主机登记;否则单击“否”或者“取消”。此处我选择单击“是”,弹出登录提示。
输入用户名和密码后,就可以登录Linux系统。登录后,会提示最后一次登录系统的时间和地点。
远程登录有一个好处,就是可以随意的复制粘贴。还可以通过鼠标滚轮翻看之前的历史信息。粘贴:vi命令后直接回车,输入i进入编辑模式,再单击鼠标右键就粘贴了。粘贴后Esc,“:wq”,保存退出。
二、使用putty密钥认证
SSH服务支持一种安全认证机制,即密钥认证。密钥认证,实际上是使用一对加密的字符串:公钥(public key),用于加密,任何人可以看到内容;私钥(private key),用于解密,只有拥有者才能看到内容。公钥加密过的密文,使用私钥可以轻松解密,根据公钥来猜测私钥却十分困难,SSH的密钥认证就是使用了这一特性。服务器和客户端都各自拥有自己的公钥和私钥。
1.生成密钥对
打开puttygen,单击Generate,这样就开始生成密钥了,来回拨动鼠标,这样可以快速生成密钥对,大约几秒钟完成。
Key comment:可以保持不变,也可以自定义,是对该密钥的简介。
Key passphrase:给密钥设置密码,可以留空。
Confirm passphrase:再输入一次设置的密码。
2.保存密钥
单击Save private key按钮,选择一个存放路径并定义名称,单击“保存”。这个就是私钥,保存到一个安全的地方。
3.复制公钥到Linux
返回生成密钥的窗口,在key的下方有一个长字符串,这就是公钥的内容。把公钥字符串复制,粘贴到Linux的文件中。运行如下命令:
# mkdir /root/.ssh //创建/root/.ssh目录,因为这个目录默认是不存在的
# chmod 700 /root/.ssh //更改这个目录的权限
# vi /root/.ssh/authorized_keys //把公钥内容粘贴到这个/root/.ssh/authorized_keys文件里。
粘贴:vi命令后直接回车,输入i进入编辑模式,再单击鼠标右键就粘贴了。粘贴后Esc,“:wq”,保存退出。
4.关闭SELinux
SELinux是centos的一种安全机制。如果不关闭,使用密钥登录就会提示Server refused our key,从而不能成功登录。需要运行如下命令来关闭SELinux:
# setenforce 0
这只是暂时关闭,下次重启Linux后,SELinux还会开启。若要永久关闭,必须运行如下命令:
# vi /etc/selinux/config
回车后,把光标移动到SELinux=enforcing这行,按i进编辑模式,修改为SELinux=disabled。按Esc,再“:wq”并回车,然后重启系统。
5.设置putty通过密钥登录(SELinux永久关闭)
系统重启后,打开putty,在右侧Saved Sessiond下找到刚保存的session,单击选中,再单击右侧的“Load(加载)”。在左下方单击SSH前面的“+”,然后选择Auth,查看右侧Private key file for authentication:下面的长条框,目前为空。单击Browse按钮,找到刚保存的私钥,单击打开。此时长条框里就有私钥地址(也可以编辑路径)。最后,单击最上面的Session,再单击右侧的Save按钮。
6.使用密钥验证登录Linux
保存好session后,单击右下方的open,出现登录界面,和原来的登录提示内容不同。这里不再是输入root密码,而是需要输入密钥的密码。如果生成密钥时没设置密码,输入root后会直接登录系统。
如果密钥认证失败,注意一下几点:
a)/root/.ssh目录权限为700;
b)SELinux要关闭;
c)/root/.ssh/authorized_keys文件名要写对;
d)文件内容要粘贴对。
如果还有一台机器要使用密钥验证登录Linux,putty设置方法一样,使用同样的私钥,不需要再生成密钥对。另外把服务器IP上的文件/root/.ssh/authorized_keys复制到另一台机器就可以了。文件名字是固定的。
该节学习的是用密钥登录root用户,普通用户的密钥认证设置方法原理一样。先有密钥对,然后把公钥放到服务器上,不过不是/root/.ssh目录下,而是普通用户的家目录下的.ssh目录下。如普通用户为yaowei,则家目录为/home/yaowei。在Linux机器做的操作(如创建.ssh目录)也须以yaowei用户身份操作才可以。
小技巧:VMware快照(好比做数据备份),做后面的实验出现问题时,可以恢复到做实验以前的快照。在虚拟机名字上右键,可以看到快照。
二、使用xshell远程连接Linux系统
1.新建会话
名称:自定义
主机:服务器IP地址
用户身份验证:密码或密钥
保持会话状态:时间可以设置长一点。不然到时间就会与服务器断开连接。
粘贴功能需要设置:进入工具,再选项,再键盘和鼠标,将向右按钮改为paste the clipboard contents。
2.登录Linux系统
直接连接,若密码输入错误将会登录失败。
3.xshell密钥认证
a)选择认证方式,改为Public Key。
b)选择私钥及输入正确的私钥密码。