两台 CentOS 之间传数据:SCP 方式

两台 CentOS 之间传数据:SCP 方式

文章目录

一、CentOS 安装 SSH 服务

0、注意

两台主机上都需要安装!

1、更新系统

首先,确保你的系统是最新的。打开终端并运行以下命令来更新系统:

bash 复制代码
sudo yum update

2、安装 OpenSSH 服务器

使用 yum 包管理器来安装 OpenSSH 服务器。在终端中运行以下命令:

bash 复制代码
sudo yum install openssh-server

3、启动 SSH 服务

安装完成后,启动SSH服务并设置它开机自启:

bash 复制代码
sudo systemctl start sshd
sudo systemctl enable sshd

4、检查SSH服务状态

你可以检查 SSH 服务的状态,确认它是否正在运行:

bash 复制代码
sudo systemctl status sshd

5、配置防火墙

如果你的服务器正在运行防火墙,你需要允许 SSH 通过。CentOS 7及更高版本使用firewalld作为防火墙。运行以下命令来允许SSH服务:

bash 复制代码
sudo firewall-cmd --permanent --zone=public --add-service=ssh
sudo firewall-cmd --reload

6、测试 SSH 连接

现在你可以从另一台计算机上测试SSH连接了。使用SSH命令连接到服务器:

bash 复制代码
ssh [username]@[server_ip]

替换[username]为你的 CentOS 用户名(如root),[server_ip]为你的CentOS服务器的IP地址。

7、更改SSH默认端口(可选)

如果你想更改SSH的默认端口(22),你可以编辑/etc/ssh/sshd_config文件:

bash 复制代码
sudo vi /etc/ssh/sshd_config

找到Port 22这一行,将其更改为你想要的端口号,然后保存并退出编辑器。之后,重启SSH服务以应用更改:

bash 复制代码
sudo systemctl restart sshd

现在,你应该能够在CentOS服务器上使用SSH服务了。记得在更改配置后,确保测试新的设置是否正常工作。

二、文件传输

1、命令

在Server A上,打开终端,然后使用以下SCP命令来传输文件:

bash 复制代码
scp /path/to/source/file.txt username@server_b:/path/to/destination/

这里的/path/to/source/file.txt是你想要传输的文件的完整路径,username是你的Server B上的用户名,server_b是Server B的IP地址或主机名,/path/to/destination/是文件在Server B上的目标路径。

bash 复制代码
# 格式
scp 本机文件 用户名@ip地址:目标路径

# 举例
scp hello.zip root@1.15.55.255:/data/webroot/

2、输入密码

当你执行上述命令后,系统会提示你输入Server B的用户密码。输入正确的密码后,文件传输就会开始。

3、等待传输完成即可

文件传输完成后,你会在终端看到相应的提示信息。此时,你可以登录到Server B上,检查文件是否已经成功传输到指定的路径下。

三、配置SSH无密码登录(未亲测)

1、配置 SSH 密钥

第一步:在Server A上,生成 SSH 密钥对(如果还没有的话):

bash 复制代码
ssh-keygen

第二步:复制生成的公钥(默认为~/.ssh/id_rsa.pub)到Server B的~/.ssh/authorized_keys文件中。你可以使用ssh-copy-id命令来简化这个过程:

bash 复制代码
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server_b

​ 这里的user是你的用户名,server_b是Server B的IP地址或主机名。

第三步:输入Server B的密码后,你的公钥就会被添加到Server B的~/.ssh/authorized_keys文件中。

2、测试无密码登录

在Server A上,尝试无密码登录到Server B:

bash 复制代码
ssh user@server_b

如果配置正确,你应该能够直接登录而不需要输入密码。

3、检查SSH配置

确保Server B上的/etc/ssh/sshd_config文件中的以下设置是正确的:

bash 复制代码
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

确保没有配置行被注释掉,并且这些设置没有被更改。

4、重启 SSH 服务

如果你做了任何更改,比如修改了sshd_config文件,你需要重启SSH服务来使更改生效:

bash 复制代码
sudo systemctl restart ssh

或者

bash 复制代码
sudo service ssh restart

完成这些步骤后,你应该能够在 Server A 上无密码登录到 Server B。记得在操作过程中,保持对服务器权限和网络安全的注意。

相关推荐
powerfulzyh1 小时前
Ubuntu24.04远程开机
linux·ubuntu·远程工作
ulimpid1 小时前
Command | Ubuntu 个别实用命令记录(新建用户、查看网速等)
linux·ubuntu·command
HHoao1 小时前
Ubuntu启动后第一次需要很久才能启动GTK应用问题
linux·运维·ubuntu
小灰兔的小白兔1 小时前
【Ubuntu】Ubuntu常用命令
linux·运维·ubuntu
GFCGUO1 小时前
ubuntu18.04运行OpenPCDet出现的问题
linux·python·学习·ubuntu·conda·pip
winds~1 小时前
ubuntu中软件的进程管理-结束软件运行
linux·运维·ubuntu
阳光不锈@1 小时前
麒麟桌面系统安装和配置Node.js
linux·麒麟系统安装node.js
bush41 小时前
使用root账号ssh登录虚拟机ubuntu
运维·ubuntu·ssh
叫我龙翔2 小时前
【Linux】进程间关系与守护进程
linux·运维·服务器·计算机网络
小诸葛的博客2 小时前
Ubuntu如何如何安装tcpdump
linux·ubuntu·tcpdump