您的位置:首页 > 科技 > 能源 > 湖北省城乡建设厅证书查询_文秘写作网站_seo兼职_黑马培训

湖北省城乡建设厅证书查询_文秘写作网站_seo兼职_黑马培训

2024/12/29 1:32:50 来源:https://blog.csdn.net/a1010256340/article/details/144759001  浏览:    关键词:湖北省城乡建设厅证书查询_文秘写作网站_seo兼职_黑马培训
湖北省城乡建设厅证书查询_文秘写作网站_seo兼职_黑马培训

一般情况下,我们通过一台 Linux 服务器远程另外一台服务器时,每次远程都需要输入对端机器的密码。

ssh root@192.168.21.20

图片

有没有这样一种情况,我们不用输入密码就可以远程别的服务器呢?

答案是肯定的,如果我们在 Linux 服务器上正确配置了免密码登录,也就是使用用密钥认证代替密码认证,就可以实现不用输入密码就能远程登录到服务器。

免密码登录的需求主要是为了方便、安全和高效。

如果我们在运行自动化脚本或者跑定时任务,并且需要在多台服务器之间传递,免密码登录可以大大提高效率,并减少因密码输入错误导致的问题。

如果我们经常需要在不同的服务器之间部署代码。使用免密码登录可以简化部署流程,并确保部署的连续性和稳定性。

当我们需要频繁地在多台服务器之间切换,对服务器进行维护或管理时,免密码登录可以节省大量时间。

我们准备两台 Linux 主机,实现客户机免密登录远程机。

客户机 192.168.21.10

远程机 192.168.21.20

我们分别用工具远程连上这两台机器,为了方便区分,我们使用两种不同颜色背景的终端。

以下为配置免密码登录的操作步骤,配置完成后,就可以实现免密码远程远程机啦。

免密码登录的实现方式是,首先在客户机生成秘钥对,然后把公钥传给远程机。

其中的原理是,我们将自己的公钥储存在远程主机上。当我们尝试登录时,远程主机会向我们发送一段随机字符串。

我们使用自己的私钥对这个字符串进行加密,并将加密后的结果发送回远程主机。远程主机随后使用事先存储的我们的公钥来尝试解密这个字符串。

如果解密成功,远程主机就会确认我们是可信的,并直接允许我们登录到 shell,无需再输入密码。

我们首先在客户机终端键入以下命令,一路按回车键,生成客户机秘钥对。

ssh-keygen -t rsa

图片

在客户机,我们可以看到在家目录自动创建一个隐藏文件夹 .ssh,并且生成两个文件,分别是私钥文件 id_rsa 和公钥文件 id_rsa.pub 。

ls /root/.ssh

图片

我们可以通过下面三种方法,将公钥文件传到远程机对应的目录。

方法一、通过 ssh-copy-id 传公钥

在客户机键入下面的命令,在应答的位置输入 yes,接着输入远程机的密码,之后就可以免密码登录啦。

如果有多台服务器都需要免密码登录,换一下 IP 地址,重复这个过程就 OK 了。

如果需要两台机器互为免密码登录,那么同样地,在远程机上生成秘钥对,将远程机的公钥文件传到客户机对应的目录。

ssh-copy-id root@192.168.21.20

图片

在远程机,我们会发现,同样在用户家目录创建了一个隐藏文件夹 .ssh,这个目录下面多了一个文件 authorized_keys,这就是刚才传过来的公钥,这样下次客户机远程过来,就不用再输入密码,这种方式在集群中用得比较多。

cd /root/.sshls

图片

方法二、通过 scp 传公钥

客户机生成秘钥对后,通过 scp 把公钥传到远程机,但有个前提是,确保远程机用户家目录存在 .ssh 文件夹。

我们先在远程机创建文件夹,且赋予对应的权限。可以看得出来,这种方法比第一种方法麻烦,建议使用方法一。

mkdir /root/.sshchmod 700 /root/.ssh

图片

在没有传公钥过来时,我们观察发现目录下没有任何文件。

cd /root/.ssh/ls

图片

我们通过 scp 命令把公钥传给远程机,并且把名字改成 authorized_keys,远程机会自动创建名为 authorized_keys 的文件。

传过去之后,我们只需要输入一次对端的密码,以后在客户机远程这台机器,都不需要输入密码。

scp -p id_rsa.pub root@192.168.21.20:/root/.ssh/authorized_keys

图片

把传公钥过来后,我们发现远程机的目录多了一个文件,这就是公钥文件。

cd /root/.ssh/ls

图片

我们验证一下,在客户机远程到远程机,再也不需要输入烦人的密码。

ssh root@192.168.21.20

图片

方法三、手工拷贝公钥内容

实现服务器间的免密远程,还有一种方法就是把客户机上的公钥拷贝出来,然后把内容放到远程机器的 authorized_keys 文件中。

我们需要在远程机创建一个隐藏目录,给它赋予 700 权限,然后在此目录下新建一个 authorized_keys 文件,把公钥信息写到这个文件,最后务必将该文件授予 600 权限。

mkdir /root/.sshchmod 700 /root/.ssh/vim /root/.ssh/authorized_keyschmod 600 /root/.ssh/authorized_keys
 

图片

在客户机先远程一次远程机,键入 yes 后,后续就不用再输入密码就可以远程到对端机器。

ssh root@192.168.21.20

图片

我们仅仅是设置 SSH 免密码登录,就已经用了不少 Linux 命令,可想而知,Linux 命令是有多重要呀。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com