Linux服务器配置ssh免密码登陆教程

发布时间 - 2025-04-18 00:00:00    点击率:

ssh 的全称是 secure shell,它采用非对称加密方式,传输内容通过 rsa 或 dsa 加密,有效防止网络窃听。有时,我们需要在 linux 系统上实现无密码登录,比如在操作 hadoop 时,这时就需要设置 ssh 无密码登录。

SSH 客户端有两个配置文件:/etc/ssh/ssh_config 和 ~/.ssh/config。前者适用于所有用户,后者则针对特定用户。这两个文件的格式相同,稍后生成的密钥文件将存放在 ~/.ssh 目录下。

现在进入正题,假设我们希望从 A 设备(这里是本地 macOS,其他 Linux 系统也适用)无密码登录到 B 服务器。

第一步:在 A 设备上生成密钥。在 A 设备上进入 ~/.ssh 文件夹,执行以下命令:

ssh-keygen -t rsa

按回车键后,~/.ssh 下会生成 id_rsa 和 id_rsa.pub 文件,其中 id_rsa 是私钥,id_rsa.pub 是公钥。

第二步:将 A 设备生成的 id_rsa.pub 复制到 B 服务器上。跨主机复制文件可以使用以下命令(假设放置在 B 服务器的 tmp 目录中):

scp id_rsa.pub root@B:/tmp  //scp -r 用于复制文件夹
# 例如:将服务器的/www/api/ 复制到本地的~/www(在本地执行)
scp -r root@101.200.52.143:/www/api/ ~/www

第三步:将刚刚复制的 id_rsa.pub 公钥文件添加到 B 服务器的 authorized_keys 文件中(如果文件不存在则创建,注意权限不能设置为 777,可以设置为 700 或 400):

cd ~/.ssh
cat /tmp/id_rsa.pub >> authorized_keys

如果需要修改权限,可以执行:

chmod 400 authorized_keys

然后就可以在 A 设备上测试登录,看是否还需要输入密码。如果能直接登录,说明设置成功。

此外,每次登录时输入 ssh user@主机 -u -p 太麻烦了,我们可以通过修改 ssh_config 文件简化操作。

按照以下步骤进行:

cd /etc/ssh && sudo vim ssh_config # 或者(这两个目录的配置都会生效)
cd ~/.ssh && sudo vim config

在文件中添加如下内容:

Host service
  HostName 127.0.0.1
  User zhangsan
  IdentityFile xxx

其中,service 是别名,127.0.0.1 是你要登录的服务器地址,zhangsan 是用户名,IdentityFile 是密钥文件路径。之后,直接使用以下命令即可通过 ssh 无密码登录,非常方便:

ssh service


# 云服务器  # linux  # macos  # cos  # hadoop  # ssh  # 这两个  # 设置为  # 公钥  # 放在  # 你要  # 适用于  # 我们可以  # 不存在  # 还需要  # 可以使用 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  实例解析Array和String方法  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  EditPlus中的正则表达式实战(5)  如何快速搭建虚拟主机网站?新手必看指南  Swift中循环语句中的转移语句 break 和 continue  Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  javascript日期怎么处理_如何格式化输出  如何用已有域名快速搭建网站?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  历史网站制作软件,华为如何找回被删除的网站?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  想要更高端的建设网站,这些原则一定要坚持!  如何快速搭建高效简练网站?  晋江文学城电脑版官网 晋江文学城网页版直接进入  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  Laravel如何实现文件上传和存储?(本地与S3配置)  香港服务器网站卡顿?如何解决网络延迟与负载问题?  Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】  EditPlus中的正则表达式 实战(4)  Laravel如何使用Vite进行前端资源打包?(配置示例)  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  Python并发异常传播_错误处理解析【教程】  如何在IIS中新建站点并配置端口与IP地址?  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  linux top下的 minerd 木马清除方法  长沙做网站要多少钱,长沙国安网络怎么样?  Android GridView 滑动条设置一直显示状态(推荐)  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  微信h5制作网站有哪些,免费微信H5页面制作工具?  EditPlus中的正则表达式 实战(1)  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  如何在IIS管理器中快速创建并配置网站?  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  如何在自有机房高效搭建专业网站?  Laravel中的Facade(门面)到底是什么原理  简单实现Android验证码  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  详解Android——蓝牙技术 带你实现终端间数据传输  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  Linux系统命令中screen命令详解  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  成都网站制作公司哪家好,四川省职工服务网是做什么用?