#最近很多云服务器打折,买了个京东云轻量级主机。
#密码太复杂,每次文件传输都需要输入密码。
#密钥登录是个好办法。
1.生成密钥:
$ ssh-keygen -t rsa
-t 指加密算法,有rsa,dsa。
执行命令后会需要显示以下内容
$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Enter passphrase (empty for no passphrase): ********
Enter same passphrase again: ********
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
Enter passphrase (empty for no passphrase) 指 输入密码。
Enter same passphrase again 指 输入相同密码。
若输入,登录时,既要密钥又要密码,这两个可以为空,我直接Enter跳过。
密钥生成后在当前登录用户的主目录下的 .ssh 目录下。若是普通用户则是home/username/.ssh下
.ssh目录通过 ls 命令可能看不到,通过 cd .ssh/ 命令,进入目录即可。
2.手动上传公钥:
生成密钥以后,公钥必须上传到服务器,才能使用公钥登录。
OpenSSH 规定,用户公钥保存在服务器的 ~/.ssh/authorized_keys 文件。
2.1通过命令查看公钥内容,复制起来。
cat id_rsa.pub
2.2快速生成名为 authorized_keys 的文件,将公钥粘贴进去。
vim authorized_keys
2.3防止别人获取修改密钥,修改文件权限(非必需)
chmod 600 ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa.pub
chmod 644 ~/.ssh/authorized_keys
3.保存私钥为密钥文件
通过命令查看私钥内容,复制起来保存在本地的 PEM 类型文件中
cat id_rsa
4.修改登录方式
进入这个文件
/etc/ssh/sshd_config
PasswordAuthentication置为no,PubkeyAuthentication 删除前面的 # 注释符
PasswordAuthentication no
PubkeyAuthentication yes
保存退出后重启shhd服务
service sshd restart