由于最近登陆实验室服务器的需要,博主学习了如何使用RSA登陆SSH,记录一下
密钥形式登录的原理是:利用密钥生成器制作一对密钥——一只公钥和一只私钥。将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录。
所以首先我们来制作RSA密钥
ssh-keygen
在终端界面显示
Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): %默认按 Enter Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): %输入密钥锁码,或直接按 Enter 留空 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 %公钥
其中密钥锁码是使用私钥时需要输入这个设置的密码,进一步增强安全性
然后将生成的公钥导入到服务器的.ssh 文件夹中
在服务器上执行
cd .ssh cat id_rsa.pub >> authorized_keys
注意调整好权限
chmod 600 authorized_keys chmod 700 ~/.ssh
设置服务器ssh
编辑 /etc/ssh/sshd_config 文件,找到并进行如下设置(一般来说是取消注释):
RSAAuthentication yes PubkeyAuthentication yes
注意保留root登陆
PermitRootLogin yes
然后重启ssh服务
service sshd restart
然后本地客户端就可以使用RSA密钥的方式登陆ssh了,如果需要取消密码登陆,则再次编辑sshd_config文件
PasswordAuthentication no
这样就禁用了密码登陆ssh
注意,如果你想把私钥复制到其他liunx电脑使用的话,须将前面生成的id_rsa文件复制到客户端的.ssh文件夹中,然后调整权限,不然会报错
chmod 600 id_rsa
然后添加私钥到客户端
ssh-add ssh-add -l %查看已添加的密钥