Linux之SSH免密码登录

版权声明:本文为博主原创文章,转载需保留原始链接。 https://blog.csdn.net/qiulinsama/article/details/87974520

将公钥给目标机器就可以免密登陆目标机器,但是其中也有许多操作细节,下面通过命令来详说。

一、生成公钥私钥

[root@client /]$ ssh-keygen -t rsa

一路默认回车,系统在~/.ssh下生成id_rsa(私钥)、id_rsa.pub(公钥)。注意,这里是root用户,生成的钥匙对在/root/.ssh下,如果是其他用户则是在各自家目录下.ssh目录中。

二、把id_rsa.pub发送到目标机器上

[root@client /]$ ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.20

这里需要注意请保证路径正确,另外此命令是在root用户下执行,所以是和目标机器的root用户进行免密认证(你当前用户执行免密认证,是对目标机器相同的用户进行免密认证),接下来需要输入目标机器的root用户密码。问题来了,如果需要免密认证目标机器的其他用户怎么办,可以用以下命令:

[root@client /]#ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

执行命令输入相应用户的密码之后就完成了。

三、验证

[root@client /]$ ssh 192.168.1.20

四、备注

第二步操作实际上是将本机的id_rsa.pub复制到目标机器的.ssh目录下的authorized_keys文件中。
第三步ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。

猜你喜欢

转载自blog.csdn.net/qiulinsama/article/details/87974520