【转】Linux最高权限用户root,默认可以直接登录sshd。为了提高服务器的安全度,需要对它进行禁止,使得攻击者无法通过暴力破解来获取root权限。
一、添加新用户并且修改sshd 默认端口1.1 新建用户1,新建一个用户; #useradd xxx (xxx为你要新建的用户名) 2,为新用户设置密码; #passwd xxx (xxx为你要新建的用户名) 3,修改SSHD配置,禁止root直接登录 #vi /etc/ssh/sshd_config 查找“#PermitRootLogin yes”,将前面的“#”去掉,段末“yes”改为“no”(不同版本可能区分大小写),并保存文件。
4.为新添加的用户添加root权限 vi /etc/sudoers 权限添加完之后,使用xxx用户登录操作,提示权限不足的时候,就可以直接sudo啦 注:要是找不到sudoers,那么就先安装sudo吧 yum install sudo.
1.2修改sshd默认端口虽然更改端口无法在根本上抵御端口扫描,但是,可以在一定程度上提高防御。 1.打开sshd配置文件 #vi /etc/ssh/sshd_config 2.找到#Port 22字段删掉#,将22改为其他不被使用的端口 服务器端口最大可以开到65536 3.重启sshd服务 #service sshd restart 4.别忘了修改登陆工具那的端口设置。 二、为新用户添加ssh-key登录,禁止密码登录1. 生成ssh-key ssh-keygen -t rsa -f test -C "test key" //-f 文件名 -C 备注 -t 类型 2. 上传公钥到服务器 ssh-copy-id -i ~/.ssh /id_rsa.pub A@IP_address 3. 设置服务器公钥的权限 chmod 400 /home/A/.ssh/authorized_keys #将 authorized_keys 的权限设置为对拥有者只读,其他用户没有任何权限 chattr +i /home/A/.ssh/authorized_keys #保证 authorized_keys 的权限不会被改掉 chattr +i /home/A/.ssh #设置 ~./ssh 的 immutable 位权限, #防止重命名 ~/.ssh ,然后新建新的 ~/.ssh 目录和 authorized_keys 文件 4. 尝试使用ssh-key登录服务器 ssh -i /user/.ssh /id_rsa A@IP_address
#利用 SSH-Key 登陆普通账户 A ,看是否成功 5.如果成功登陆 A, 编辑 服务器上面的sshd_config 文件 su root #切换root账号 6.配置本地ssh config,方便登录。多个 ssh 账号需要配置,在 config 文件里隔行分开写就行 vi ~/.ssh/config #在私钥所在的.ssh 文件夹内新建一个 config 文件 按 i 编辑,复制以下内容 Host vps #这个名字随意,感觉像调用函数 HostName IP_address #IP 地址或服务器域名 Port XX #服务器端开放的 ssh 端口,第 7 步中改的端口 User A #登录的用户名 IdentityFile ~/.ssh/ id_rsa #使用的密钥文件密钥文件,本地私钥地址 另外备注一点, github 用ssh下载的话,会发现permison denied! 检测是由于默认是读取id_rsa 的秘钥,我已经命名成了github,所以找不到就一直连不上 把代码加到缓存ssh-agent 的高速缓存里面 ssh-add ~/.ssh/github 另外一种方法就是在ssh config里面添加我们的github信息 Host personal
HostName github.com
User git
IdentityFile ~/.ssh/work_rsa 测试 ssh - T git@personal 成功
git clone git@personal:MorePainMoreGain/datetimepicker.git #MorePainMoreGain 用户名 datetimepicker 仓库名
参考博客: Linux 0 基础,在 VPS 上禁止 ROOT 账户,禁用密码登录,新建普通账户 A 并通过 SSH-Key 登陆 A 的方法 (欢迎指正:) OS: OS X 10.10.5 |
|