centos实现SSH远程登录

  1. 生成SSH密钥对

首先,你需要在客户端机器上生成一个SSH密钥对。打开终端,执行以下命令

ssh-keygen

或ssh-keygen -t rsa -b 2048(效果相同)

按照提示操作,可以按回车键接受默认的文件名(通常是~/.ssh/id_rsa)和密码短语(可以为空,直接按回车)。

  1. 将公钥复制到服务器

生成密钥后,使用ssh-copy-id命令将公钥复制到服务器上。在客户端执行:

ssh-copy-id 用户名@服务器IP地址

例:ssh-copy-id root@123.56.83.xxx

这条命令会提示你输入服务器的密码。成功执行后,你的公钥将被添加到服务器的~/.ssh/authorized_keys文件中。

上述操作也可以进行手动添加

你需要获取客户端的公钥内容:

cat ~/.ssh/id_rsa.pub

然后,登录到服务器,将公钥内容添加到~/.ssh/authorized_keys文件中:

echo "公钥内容" >> ~/.ssh/authorized_keys

3.测试SSH密钥登录

在客户端机器上,尝试使用以下命令登录服务器,看是否可以无需密码直接登录:

ssh 用户名@服务器IP地址

例:ssh root@123.56.83.xxx

如果一切设置正确,你应该能够直接登录到服务器而不需要输入密码。

之后就可以使用scp进行文件上传了

#!/bin/bash

TEMPNAME=(ls /www/backup/database/mysql/crontab_backup/hz_fw_game/ \| grep hz_fw_game_(date -d -0day +%Y-%m-%d)_*)

scp -i /root/.ssh/id_rsa /www/backup/database/mysql/crontab_backup/hz_fw_game/$TEMPNAME root@123.56.83.xxx:/root/gmplatform_database_back/hz_fw_game/

相关推荐
ShineWinsu17 分钟前
对于Linux:基于UDP实现简单聊天室功能
linux·c++·面试·udp·笔试·进程·简单聊天室
zoipuus1 小时前
上传repo仓库到自己的gitlab
linux·gitlab·shell·全志·tina
IT大白鼠1 小时前
CVE-2026-7531 Azure Linux MariaDB PQC 内存破坏漏洞详解
linux·mariadb·azure·cve-2026-7531
无忧.芙桃1 小时前
线程同步与线程互斥(上)
linux·运维·操作系统·运维开发
HAPPY酷1 小时前
【ROS2】16G 内存笔记本跑 ROS2 仿真?VMware 虚拟机“保姆级”配置指南 (R9 7940HX + RTX 4060)
java·linux·ide·windows·pycharm
donoot11 小时前
Linux系统下图书馆级电子书全自动标准化分类整理完整实施方案
大数据·linux·运维·电子书管理
Felix-lxd11 小时前
Ubuntu 22.04 配置 Nginx
linux·nginx·ubuntu
Tim_Van13 小时前
在 CentOS 7 中安装 Chromium 的完整步骤
linux·运维·chrome·centos
2023自学中13 小时前
C++ 内存追踪器
linux·c++
啵啵鱼爱吃小猫咪14 小时前
Ubuntu 20.04 + ROS Noetic 源码安装 libfranka 0.8.0 和 franka_ros 0.8.0 完整教程
linux·运维·ubuntu