配置SSH

ECS默认已经配置好了sshd服务,可以使用root账号直接登录,但是这通常是不安全的,第一件事就是针对sshd服务进行优化配置。

1.创建常用的账号

在任何Linux相关的描述中,都会说日常使用root操作是很不安全的行为,因此首先创建一个日常使用的账户。

useradd garypasswd gary

2.编辑sudoer文件

vim /etc/sudoers

加入用户,以便使用sudo命令直接操作一些系统命令,减少对root账户的使用。

3.编辑sshd配置文件,修改一些默认选项

vim /etc/ssh/sshd_config

修改一些默认的配置项

复制代码

#仅使用SSH2协议
Protocol 2#修改密钥生成强度
ServerKeyBits 1024#禁止root账户通过ssh登录
PermitRootLogin no

#禁止使用常规的用户名密码方式登录,此项慎用
#在没有生成好Key,并且成功使用之前,不要设置为no
PasswordAuthentication no

#禁止空密码登录
PermitEmptyPasswords no

复制代码

4.重启sshd服务

/etc/rc.d/init.d/sshd restart
或
service sshd restart

5.生成个人的公钥与密钥

复制代码

#切换到要生成key的账号su - gary

#建立公钥与私钥ssh-keygen -t rsa
#密钥文件,可直接回车使用默认的文件名
Enter file in which to save the key (/home/gary/.ssh/id_rsa): 

#输入两遍密钥文件,仅供密钥登录用,可为空,不需与系统密码一致
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

#改名为sshd支持的默认公钥文件名mv ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

#设置公钥文件名,如不设置为400,会无法登录chmod 400 ~/.ssh/authorized_keys

#取出私钥文件(可远程通过pscp获取),并删除服务器备份rm �Crf ~/.ssh/id_rsa

复制代码

6.在linux系统中,可以直接使用密钥文件,登录远程服务器

ssh gary@ip -i id_rsa

7.在windows系统中,需要使用putty项目的puttygen生成本地私钥,再使用putty进行登录

载入--全部文件,选择获取到的服务器密钥--确定(如果服务器端生成时,设置了密钥,会提示输入)--保存私钥(保存为本地putty可是别的ppk私钥文件)

在putty的认证标签中,浏览选择上一步生成的ppk私钥文件,即可登录。

8.总结

8.1.为什么说是安全的SSH链接呢?关闭了空密码链接、禁止常规的ssh用户名密码方式登录,只有在服务器上生成过key文件的用户方可访问,key文件+密钥,保护更完善一些

8.2.友情提示,PasswordAuthentication no配置内容,一定要在已经生成好了至少一个key之后再使用,否则会导致直接无法登录哦。

8.3.参考:

http://www.centospub.com/make.html


你可能感兴趣的:(ECS)