如何配置ssh服务使得不用输入账号密码即可连接远程主机


本文摘自PHP中文网,作者齐天大圣,侵删。

我们知道,ssh协议可以通过输入账号名和密码来连接远程的服务器。那么,可以免去输入账号和密码吗,直接登录。答案是可以的,并且在日常工作中,这种需求也是常见的。比如,使用scp来做异地备份,想要把scp写入到crontab中,但是在crontab肯定不能够输入账号密码的,那么就需要做免账号密码登录了。

ssh是一种非对称加密协议,有公钥和私钥。公钥是用来加密信息用的,各个主机中会在自己的家目录的.ssh目录下的known_hosts文件中存放其他主机的公钥。想要做免账号密码,关键点就是这个公钥。

假设一台服务器主机SERVER,一台客户机CLIENT,客户机想要免登陆连接SERVER。那么只需将客户机的公钥追加到SERVER机的~/.ssh/authorized_keys末尾即可。下面分两种情况演示如何免密码登录:

  • 客户机为windows系统

  • 客户机为linux系统

客户机为windows系统

首先第一步需要去生成秘钥对,在这里,我们使用git工具来生成秘钥对(如何在windows系统上安装git,这个自己去查询,非常的简单,一路next即可)。

1

ssh-keygen

在git终端输入上述命令后,会有一系列的提示信息,直接输入ENTER键(共需输入三次ENTER)。之后,就可以在$HOMT/.ssh/目录下看到公钥以及私钥,以pub结尾的是公钥。

1

2

3

4

5

admin@LAPTOP-7P19B9SH MINGW64 ~/.ssh

$ ll

total 13

-rw-r--r-- 1 admin 197121 1679  5月  3  2019 id_rsa

-rw-r--r-- 1 admin 197121  398  5月  3  2019 id_rsa.pub

接下来就把该公钥上传到服务器上,然后把该公钥信息追加到~/.ssh/authorized_keys中。

1

# cat id_rsa.pub >> .ssh/authorized_keys

下面演示如何使用xshell来免密码登录

第一步、输入远程主机的IP

360截图1757111999115121_看图王.jpg

第二步、点击用户身份验证,然后选择方法为Public Key。然后输入用户名,这里我们填root。最后选择密钥,注意这里需要选择是的私钥,而不是公钥。

360截图17321130404837.jpg

这两步设置好了后,就完成了免密码登录了。

客户机为linux主机

阅读剩余部分

相关阅读 >>

centos7下无法启动SSH服务

linux远程服务器无法SSH登录的原因及解决方法

linux无法连接SSH

详解shell实现SSH自动登陆

SSH linux是什么

利用SSH反向代理以及autoSSH实现从外网连接内网

怎么SSH连接centos

如何在linux上设置SSH密码以进行无密码登录

centos出现SSH登录失败怎么办

linux中SSH客户端断开后保持进程继续运行配置方法的具体介绍

更多相关阅读请进入《SSH》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...