前言
目前有客户端C和服务器S两台主机,希望让C的root用户免密码登录到S的test用户,原理为:如果想让C登录到S,则将C的公钥送给S,并将该公钥添加至S的认证文件。具体可分如下几步进行:
在客户端生成非对称密钥对
执行:ssh-keygen -t rsa ,默认会在客户端C的root用户目录下生成.ssh文件夹,并在文件夹下生成id_rsa(私钥)和
id_rsa.pub(公钥)
将客户端公钥上传至服务端.ssh目录
执行:scp ~/.ssh/id_rsa test@server_ip:~/.ssh,将客户端C的公钥文件上传至服务端的.ssh目录下,并修改服务端的.ssh目录权限:chmod 700 .ssh
将服务端获取到的客户端公钥添加至认证文件authorized_keys
执行:cat id_rsa.pub >> authhorized_keys ,将客户端的公钥添加至认证文件末尾
上述步骤执行完后,配置结束,反之亦然。
执行:ssh test@server_ip 可以从客户端免密钥登录到服务端