SSH密钥登陆方式介绍
SSH密钥登陆的流程一般为如下过程:首先创建一对公私钥 (公钥文件:~/.ssh/id_rsa.pub; 私钥文件:~/.ssh/id_rsa)。然后把公钥放到服务器上(~/.ssh/authorized_keys), 自己保留好私钥.在使用ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配.如果匹配成功就可以登录。
设置SSH密钥登陆步骤
1、制作密钥对
使用Xshell生成公钥
首先下载Xshell软件,最好去官网下载最新版,旧版本有一部分被植入后门。
官网地址:https://www.netsarang.com/
运行Xshell软件,点击工具-用户密钥管理者-生成
密钥类型选择RSA,密钥长度一般大于1024位就可以了。
生成后点击下一步,给用户密钥加密(这里的密码可以随意)。
下一步,公钥格式选择SSH2-OpenSSH,点击保存为文件保存(*.pub)。
2、服务器上安装公钥
以Debian8为例
将保存的公钥(*.pub)通过winscp或sftp等软件上传至root目录下的.ssh(没有可以建立)文件夹
通过Xshell密码登陆VPS等
运行如下命令
cd ~/.ssh
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
如此便完成了公钥的安装。为了确保连接成功,请保证以下文件权限正确:
chmod 600 authorized_keys
chmod 700 ~/.ssh
3、开启SSH密钥登陆VPS
修改SSH的配置文件/etc/ssh/sshd_config
:
vi /etc/ssh/sshd_config
找到如下三行
RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
将前面的#去掉。同时也要允许root账户登陆
PermitRootLogin yes
重启SSH服务
/etc/init.d/ssh restart
4、关闭vps密码登陆
编辑/etc/ssh/sshd_config文件,
vi /etc/ssh/sshd_config
将 #PasswordAuthentication yes
修改为 PasswordAuthentication no
然后重启ssh服务
/etc/init.d/ssh restart
小结
通过以上设置,我们就可以使用SSH密钥形式登陆vps,这样大大增强了vps的安全性,但是需要将密钥好好保存,以免密钥丢失导致无法登陆。