Linux配置使用SSH Key登录并禁用root密码登录
2017-07-11 11:48
393 查看
今天一上服务器,发现一百多次失败登录。马上意识到被ssh破解攻击了,这还了得,来一篇防护措施再说。
Linux系统大多说都支持OpenSSH,生成公钥、私钥的最好用ssh-keygen命令,如果用putty自带的PUTTYGEN.EXE生成会不兼容OpenSSH,从而会导致登录时出现server refused our key错误。
1、root用户登陆后,运行以下第一句指令,其他根据提示进行输入:
ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 建议直接回车使用默认路径
Created directory '/root/.ssh'
Enter passphrase (empty for no passphrase): 输入密码短语(留空则直接回车)
Enter same passphrase again: 重复密码短语
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
05:71:53:92:96:ba:53:20:55:15:7e:5d:59:85:32:e4 root@test
The key's randomart image is:
+--[ RSA 2048]----+
| o o .. |
| . o oo.+ . |
| o.+... = |
| ...o |
| o S |
| . |
| |
| |
| |
+--------------------+
此时在/root/.ssh/目录下生成了2个文件,id_rsa为私钥,id_rsa.pub为公钥。私钥自己下载到本地电脑妥善保存(丢了服务器可就没法再登陆了),为安全,建议删除服务器端的私钥。公钥则可以任意公开。
2、使用以下命令将公钥导入到VPS:
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
3、修改SSH的配置文件/etc/ssh/sshd_config :
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
去调上面3行前面的#,保存后重启SSH服务。
service sshd restart
至此你的DigitalOcean VPS已经支持使用SSH私钥证书登录。在你使用SSH Key登录验证成功后,还是为了安全,建议你关闭root用户使用密码登陆,关闭的方法如下:
修改SSH的配置文件/etc/ssh/sshd_config,找到下面1行:
PasswordAuthentication yes
修改为:
PasswordAuthentication no
保存后重启SSH服务。
service sshd restart
好了,至此只要你保存好你的私钥(为安全,建议删除服务器端的私钥),你的服务器相比原来使用root用户加密码登陆来说已经安全多了。
Linux系统大多说都支持OpenSSH,生成公钥、私钥的最好用ssh-keygen命令,如果用putty自带的PUTTYGEN.EXE生成会不兼容OpenSSH,从而会导致登录时出现server refused our key错误。
1、root用户登陆后,运行以下第一句指令,其他根据提示进行输入:
ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 建议直接回车使用默认路径
Created directory '/root/.ssh'
Enter passphrase (empty for no passphrase): 输入密码短语(留空则直接回车)
Enter same passphrase again: 重复密码短语
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
05:71:53:92:96:ba:53:20:55:15:7e:5d:59:85:32:e4 root@test
The key's randomart image is:
+--[ RSA 2048]----+
| o o .. |
| . o oo.+ . |
| o.+... = |
| ...o |
| o S |
| . |
| |
| |
| |
+--------------------+
此时在/root/.ssh/目录下生成了2个文件,id_rsa为私钥,id_rsa.pub为公钥。私钥自己下载到本地电脑妥善保存(丢了服务器可就没法再登陆了),为安全,建议删除服务器端的私钥。公钥则可以任意公开。
2、使用以下命令将公钥导入到VPS:
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
3、修改SSH的配置文件/etc/ssh/sshd_config :
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
去调上面3行前面的#,保存后重启SSH服务。
service sshd restart
至此你的DigitalOcean VPS已经支持使用SSH私钥证书登录。在你使用SSH Key登录验证成功后,还是为了安全,建议你关闭root用户使用密码登陆,关闭的方法如下:
修改SSH的配置文件/etc/ssh/sshd_config,找到下面1行:
PasswordAuthentication yes
修改为:
PasswordAuthentication no
保存后重启SSH服务。
service sshd restart
好了,至此只要你保存好你的私钥(为安全,建议删除服务器端的私钥),你的服务器相比原来使用root用户加密码登陆来说已经安全多了。
相关文章推荐
- linux禁用root登录和密码登录只支持ssh 证书登录
- linux下mysql 使用mysql -uroot -p输入密码无法登录问题的解决
- 服务器centos 使用ssh key登录 设置root密码
- linux生成ssh key方法与使用,无密码登录机器
- jenkins发布项目到远程主机上,配置两台linux如何使用SSH免密码登录
- linux下mysql 使用mysql -uroot -p输入密码无法登录问题的解决
- jenkins发布项目到远程主机上,配置两台linux如何使用SSH免密码登录
- Linux 自学笔记——忘记 root 用户 和 普通用户 登录密码
- 怎样修改Ubuntu的root帐户密码并使用root登录
- VMWare Workstation上使用RedHat Linux安装和配置Hadoop群集环境03_配置虚拟机之间SSH无密码登录
- Ubuntu 12.04 root默认密码? 如何使用root登录?
- linux ssh配置与禁用root远程登录
- Unix/Linux ssh配置无密码登录
- 【Linux使用技巧】VNC远程登录Linux的安装和配置
- Linux 系统的单用户模式、修复模式、跨控制台登录在系统修复中的运用及突破root密码的方法
- 使用SecureCrt远程登录Linux安装配置教程
- linux 如何免root密码登录
- 【Linux】禁用密码登录, 仅允许authorized_keys
- linux系统添加root密码,与更改成root登录状态
- (Ubuntu 以root用户登录)使用/proc/sys/vm/drop_caches手工释放linux内存