linux免密登录
1、生成秘钥;
$ ssh-keygen -t rsa -f /root/.ssh/id_rsa
2、将生成的公钥文件 id_rsa.pub 内容写入 authorized_keys 文件;
# 1、直接重命名 id_rsa.pub 为 authorized_keys $ mv id_rsa.pub authorized_keys # 2、或者新建 authorized_keys,写入 id_rsa.pub 内容 $ touch authorized_keys $ cat id_rsa.pub >> authorized_keys
3、修改 .ssh 目录权限 和 authorized_keys文件权限,注意 .ssh 目录及文件的所有者需为对应的用户;
$ chmod 700 ../.ssh/ $ chmod 600 ./authorized_keys
4、将生成的私钥文件 id_rsa 分配给客户端,客户端登录示例;
# ssh 用户名@主机地址 -i 私钥文件 $ ssh root@127.0.0.1 -i id_rsa
# 客户端私钥文件 id_rsa 权限也可能要求为 600 $ chmod 600 ./id_rsa
额外操作(可忽略)
5、客户端配置 .ssh/config 实现快捷登录;
5.1 客户端用户home目录新增 .ssh 目录,新建 config 文件;
# /home/user 为用户目录,可以是(/root、C:\Users\Administrator、...) $ mkdir /home/user/.ssh $ touch /home/user/.ssh/config
5.2 配置 config;
# 服务器说明[服务器1:my-host1] # 服务器别名,为方便客户端使用,与远程服务器无关 Host my-host1 # 主机地址[IP] HostName my-host.com # 用户名 User root PreferredAuthentications publickey # id_rsa 路径 IdentityFile ~/.ssh/id_rsa
5.3 登录示例;
$ ssh my-host1
5.4 通过配置 config,增加第2台服务器 ,登录多台服务器;
# 服务器说明[服务器2:my-host2] # 服务器别名,为方便客户端使用,与远程服务器无关 Host my-host2 # 主机地址[IP] HostName 192.168.1.3 # 用户名 User root PreferredAuthentications publickey # id_rsa 路径,服务器2生成的 id_rsa 改名为 my-host2_rsa IdentityFile ~/.ssh/my-host2_rsa
# 登录服务器1 $ ssh my-host1 # 登录服务器2 $ ssh my-host2