目录
Linux免密登录远程服务器
文件 | 描述 |
---|---|
id_rsa | 生成的私钥文件 |
id_rsa.pub | 生成的公钥文件 |
authorized_keys | 存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥(如没有,可touch创建) |
know_hosts | 已知的主机公钥清单(默认没有,上传公钥后自动生成) |
(1)在本机生成密钥
在任意目录下输入命令,生成的密钥文件默认会在“~/.ssh/”文件夹中
ssh-keygen -t rsa -P ''
ssh-keygen -t rsa
#将密钥的内容添加到authorized_keys尾部
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
-P表示密码,-P ''表示空密码。
之后系统会提示输入生成的密钥文件的文件名,可以输入任意名称。
比如:id_rsa,回车;系统会在当前目录下生成id_rsa与id_rsa.pub两个文件
(2)把公钥文件id_rsa.pub拷贝到需要登录的服务器上
scp ~/.ssh/id_rsa.pub root@node2:/home
scp ~/.ssh/id_rsa.pub root@node3:/home
-P表示要登录服务器的端口号,不加默认为22;之后系统会提示输入密码,输入即可完成拷贝
(3)将公钥id_rsa.pub填充到authorized_keys尾部
在用户根目录下新建.ssh文件夹(如果不存在),在其中新建authorized_keys文件(如果不存在),把id_rsa.pub添加到authorized_keys文件中。
在远程服务器上新建ssh文件夹
mkdir -p ~/.ssh
cat /home/id_rsa.pub >> ~/.ssh/authorized_keys
rm -rf /home/id_rsa.pub
将密钥的内容添加到authorized_keys尾部
将id_rsa.pub文件添加到authorized_keys文件中(如文件不存在则新建)
注意:要保证.ssh与authorized_keys用户自己都有写权限
配置完成后即可免密远程登录其他服务器啦。
scp ~/.ssh/id_rsa.pub root@node1:/home
scp ~/.ssh/authorized_keys root@node2:~/.ssh/