Linux 操作另一台服务器

服务器信任

在运维场景中,如果需要在一台服务器操作另一台服务器,就需要目标服务器(下面称为 B 服务器)信任当前服务器(下面称为 A 服务器)。

  1. 在 A 服务器生成证书。

    ssh-keygen -t rsa
    

    一直回车结束。

    会在 /root/.ssh 目录下生成 id_rsaid_rs.pub 两个文件:

    • id_rsa私钥
    • id_rs.pub公钥
  2. 公钥拷贝到 B 服务器。

    scp /root/.ssh/id_rsa.pub root@B:/root/
    

    这里由于 B 服务器还没有信任 A 服务器,所以会提示输入密码。

  3. 登录 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上执行的命令'
posted @ 2023-09-28 09:58  天航星  阅读(230)  评论(0编辑  收藏  举报