Linux通过SSH实现免密登录

一、应用场景:

在我们服务器中,经常需要拷贝文件,我们常用SCP命令,但是每次都要加密码,或者我们进行代码发布的时候,也会经常需要这样。而我们有时候不希望密码让开发知道,这就衍生了我们进行免密登陆的想法。

二、开始配置:

1.生成ssh密钥

建议是不要用root生成,因为如果用root生成的话就是有root权限这里我们建一个test用户

useradd test

su - test

echo 123456|passwd --stdin test      #设置test用户密码

生成密钥命令

ssh-keygen -t dsa

执行命令后一直回车就行,当然如果需要给密码再加一次密码可以在Enter passphrase这里输入密码

然后到用户目录就会看见一个.ssh的隐藏目录里面的文件有

id_dsa.pub就是我们所谓的公钥(锁)不带的id_dsa是私钥(钥匙)

这里要注意的是每台要免密登录的服务器都要进行生成密钥的操作

2.将每台的id_dsa.pub写入到同一个文件authorized_keys(这个文件就是记录每台服务器的密钥的文件)

写好后放入到.ssh/里面,注意文件的权限改600

在其中一台执行命令如下:

cp id_dsa.pub authorized_keys

把其他要免密登录的id_dsa.pub也写在这个文件,然后每台机器都要有这个文件

chmod 600 authorized_keys

3.然后测试一下,第一次需要yes一下,后面就不用了

ssh [email protected]

这里输入yes

4.在我们主机有一个know_host文件,其实就是记录登录过主机的信息,可以将文件拷贝,这样就不用每台去进行第一次登陆。

猜你喜欢

转载自blog.csdn.net/zetion_3/article/details/104649716