工作中遇到的问题之linux设置互信访问

本文介绍如何使用SCP命令在特定端口(例如1000端口)进行远程文件传输,包括修改sshd_config文件、配置防火墙及实现服务器间的免密码登录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做一个文档同步的功能,选用的是scp功能进行远程文件的传输
大家都知道scp命令是linux下常用的远程文件传输命令,现在工作中需要进行scp命令进行传输,正常情况下scp使用22端口进行通信,但是需求为了安全起见选用了其他端口进行通信,下面举例介绍一下具体的做法。
首先,需求是通过1000端口从服务器A将文件拷贝到服务器B。而且不要输入用户名和密码。
首先配置服务器A和B实现1000端口通信。
服务器A IP:172.16.10.10
服务器B IP:172.16.10.20
修改/etc/ssh/sshd_config配置
命令如下:

vi /etc/ssh/sshd_config

找到port字段,将注释’#’号去掉,并修改22为1000.
服务器A和B都要修改,重启ssh服务,centos使用

service sshd restart

最后检查防火墙是否开启,如果开启,请放开1000端口
下面配置互信访问:
在服务器A中执行如下命令:

ssh-keygen

一路enter键
设置完之后进入ssh目录下

cd ~/.ssh/

查看到有两个文件:id_ras和id_rsa.pub
这两个文件一个是私钥,一个是公钥,当然pub就是public的意思,是公钥。
打开文件id_rsa.pub

vi id_rsa.pub

复制文件内容
进入服务器B

touch authorized_keys 
vi authorized_keys 

将复制的文件内容复制到authorized_keys 中
这里有一个坑,要设置authorized_keys 的权限为744,互信会生效。
接下来,使用如下命令实现免登录。

ssh 172.16.10.20 -p 1000

但是不想输入后面的-p 1000
请在~/.ssh/目录下创建config文件

touch config
vi config

将下面的内容粘贴进去

Host B
    HostName 172.16.10.20
    User root
    Port 1000

接下来再A上输入以下命令就可以直接连接到B上了。ps:这个文件可以配置多台主机。

ssh B

Ok,整个流程大概是这样子的了,如果需要从B访问A将上述方法修改一下就好了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值