阅读

linux免密登录

linux  2020-08-13 11:12

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