ssh免密登陆服务器

本文介绍的是以公钥认证的方式实现 ssh 免密码登陆远程服务器。

客户端生成RSA公钥和私钥

在用户更目录有一个 .ssh 的文件夹,如果没有就新建一个。在文件夹中通过命令 ssh-keygen -t rsa 命令将会生成公钥文件和私钥文件 id_rsaid_rsa.pub

其中 id_rsa 是私钥文件,id_rsa.pub 是公钥文件。

客户端将自己的公钥存放到服务器

.pub 文件复制到服务端的 ~/.ssh 目录,同样的如果没有就新建一个。

scp ~/.ssh/id_rsa.pub root@192.168.1.68:~/.ssh/id_rsa.pub

通过 scp 命令就可以很简单的将客户端的公钥文件上传至服务器端。

追加客户端公钥

最后将上传好的公钥追加到 authorized_keys 文件中,同样的如果没有就新建一个。

 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

文件权限

上述步骤都完成之后最后还要注意一下服务端 .ssh 文件夹和 authorized_keys 文件的权限问题。

chmod 700 .ssh
chmod 600 authorized_keys

链接地址别名

最后我们还可以将 root@192.168.1.68 这个 用户名@地址 去一个别名,方便记忆和使用。编辑 ~/.ssh/config 文件,追加以下内容:

Host server68
    HostName 192.168.1.68
    Port 22
    User root
    IdentityFile ~/.ssh/id_rsa

配置后下次链接 192.168.1.68 服务器就可以使用 ssh server68 来访问了,是不是很方便。

本文由个人 hexo 博客 co2fe.com 迁移
date: 2018-08-30 20:10:36

原文地址:https://www.cnblogs.com/manastudent/p/10191015.html