Linux 操作另一台服务器
服务器信任
在运维场景中,如果需要在一台服务器操作另一台服务器,就需要目标服务器(下面称为 B 服务器)信任当前服务器(下面称为 A 服务器)。
-
在 A 服务器生成证书。
ssh-keygen -t rsa
一直回车结束。
会在
/root/.ssh
目录下生成id_rsa
和id_rs.pub
两个文件:id_rsa
为私钥。id_rs.pub
为公钥。
-
公钥拷贝到 B 服务器。
scp /root/.ssh/id_rsa.pub root@B:/root/
这里由于 B 服务器还没有信任 A 服务器,所以会提示输入密码。
-
登录 B 服务器,并将该文件追加到
/root/.ssh/authorized_keys
文件中。cat /root/id_rsa.pub >>/root/.ssh/authorized_keys
如果此时报
Operation not permitted
,说明authorized_keys
没有修改权限,可以进行如下操作:-
修改
authorized_keys
权限:chmod 600 /root/.ssh/authorized_keys
如果依然报
Operation not permitted
,有以下两种可能:-
当前用户权限不足,可以在命令前面加上
sudo
执行:sudo chmod 600 /root/.ssh/authorized_keys
-
如果以上命令依然报
Operation not permitted
,则可能是文件处于保护状态,执行如下命令解除:chattr -ia /root/.ssh/authorized_keys
如此再执行上诉操作即可。
-
-
服务器操作
上传文件
使用如下命令可以传输 A 服务器的文件到 B 服务器。
scp A文件路径 B账号@B地址:B路径
执行命令
可以在 A 服务器使用如下命令操作 B 服务器。
ssh -tt B账号@B地址 '在B上执行的命令'
天河有尽身作涯,星海无边前是岸。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)