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/

相关推荐
A小辣椒1 天前
TShark:Wireshark CLI 功能
linux
A小辣椒1 天前
TShark:基础知识
linux
AlfredZhao1 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush43 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
开发者联盟league3 天前
安装pnpm
ssh
载数而行5203 天前
Linux 11 动态监控指令top
linux