• ubuntu 之间使用 ssh 通信


    1. 服务器端

    通常服务器端, 是指我们想要通过ssh登录的机器,

    在服务器段执行以下步骤

    1.1 安装 openssh server

    sudo  apt update
    sudo  apt upgrade
    sudo  apt install openssh-server 
    
    • 1
    • 2
    • 3

    1.2 开启 ssh

    首先使用
    sudo systemctl status ssh 确认是否为 activate 状态;

    如果没有启动,则执行

    sudo  systemctl enable  ssh
    sudo  systemctl start ssh
    
    • 1
    • 2

    一般服务器上安装ssh完成后,会自动启动ssh服务,并且默认随系统启动,如果没有,请手动启动:

    sudo /etc/init.d/ssh start #服务器启动ssh-server服务,
    
    sudo /etc/init.d/ssh stop #server停止ssh服务
    sudo /etc/init.d/ssh restart #server重启ssh服务
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    1.3 配置防火墙

    sudo  ufw  allow ssh
    sudo  ufw  enable
    sudo  ufw  status
    
    • 1
    • 2
    • 3

    1.4 查看 服务器ip

    服务器ip 地址

    ifconfig 
    
    • 1

    服务器名称
    whoami

    ifconfig 参数解释

    2. 本地用户ssh 登录服务器

    个人的ubuntu 系统是,是默认安装了 ssh 的 客户端,

    sudo apt install openssh-client #本地主机运行此条,实际上通常是默认安装client
    
    • 1

    2.1 登录方式

    故可以直接使用 如下方式 登录

    ssh  service-name@ip 
    
    比如  machine@127.0.0.1
    ssh yucicheung@10.170.11.147
    #或
    ssh -l yucicheung 10.170.11.147
    # 如果需要调用图形界面程序
    ssh -X yucicheung@10.170.11.147
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    当连接成功时,则命令提示副前的用户名@主机名由本地主机变成服务器的信息,即表明现在该终端所有的命令都是在服务器中执行。

    如果服务器端的SSH服务没有开启在22端口,那么SSH链接时则需要用-p指定端口(如202):

    或者有时加上端口号

    ssh  service-name@ip  -p 12334
    
    • 1

    2.2 退出登录

    ctrl + d   或者 exit
    
    • 1

    3. 钥匙配对

    利用公钥省去口令输入,

    每次登录远程主机都需要输入密码是很不便捷的,如果要加速这一步骤,可以利用密钥对进行连接,主要思路是:生成一对公钥私钥,私钥在local主机上,公钥在远程服务器上,每次建立ssh连接自动检查密钥对是否匹配。

    3.1 本地主机生成密钥对

    ssh-keygen -t rsa #-t表示选择类型,类型为rsa
    
    • 1

    执行以后会在$HOME目录下生成一个.ssh文件夹,其中包含私钥文件id_rsa和公钥文件id_rsa.pub

    3.2 复制公钥到服务器

    # 登录远程服务器
    ssh yucicheung@10.170.11.147 
    
    # 在服务器上创建.ssh文件夹,如果已经存在就跳过此步
    mkdir .ssh 
    
    # 为了保证.ssh文件夹的安全,应取消其他用户对文件夹的所有权限
    chmod 700 .ssh
    
    # 退出登录
    exit
    
    # 本地主机的公钥复制到远程服务器,作为已认证密钥
    scp /home/yucicheung/.ssh/id_rsa.pub yucicheung@10.170.44.206:/home/yucicheung/.ssh/authorized_keys
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    在进行以上配置以后,再进行连接时,就可以免去口令(密码)的输入了。

  • 相关阅读:
    【Redis技术探索】「高可用架构模式」哨兵(sentinel)模式实现主从故障互切换模式详解
    redis6.2(二)Redis的新数据类型、使用java语言操作Redis
    HarmonyOS学习——HarmonyOS习题
    机器学习第8天:SVM分类
    创建自定义 Spring Cloud Gateway 过滤器 - spring.io
    微信小程序中识别HTML标签的方法
    大数据安全 | (一)介绍
    Kuboard突然无法访问提示:Failed to connect to the database
    Mybatis---resultMap详解
    python关于sorted排序函数详细解析 附实战代码(全)
  • 原文地址:https://blog.csdn.net/chumingqian/article/details/126278761