目录

Ubuntu24.04下管理自己的ssh连接

Ubuntu24.04下管理自己的ssh连接

Ubuntu24.04下管理自己的ssh连接

一、远程主机信息

  • 假设有一个远程主机:

    # ip:8.142.20.10
    # user: root
    # password: 12345
    # 输入以下命令即可登录
    ssh -p 22 root@8.142.20.10
  • 但是我们不可能记住所有主机的ip和密码,所以我们可以通过配置秘钥认证的方式登录,这样我们可以简化登录流程。

二、配置秘钥认证登录

  • 客户端生成密钥对

    # 生成公钥秘钥对
    ssh-keygen -t rsa -b 4096 -C "ali_cloud_8.142.20.10" -f ~/.ssh/ali_cloud_8_142_20_10_key
    # 可以通过以下命令查看公钥的指纹(fingerprint)
    ssh-keygen -l -f ~/.ssh/ali_cloud_8_142_20_10_key.pub

    https://i-blog.csdnimg.cn/direct/0a608dfd22244afcb6c500fb74240ec7.png#pic_center

    https://i-blog.csdnimg.cn/direct/a17a9a561a4c4a6d92fee7f242996fac.png#pic_center

  • 客户端将公钥拷贝到远程主机

    # 将客户端公钥拷贝到远程主机
    ssh-copy-id root@8.142.20.10
    # 客户端直接登录,不在需要输入远程主机的密码
    ssh root@8.142.20.10

    https://i-blog.csdnimg.cn/direct/40d2a7b4df2742d6a6f5c298b4029101.png#pic_center

    https://i-blog.csdnimg.cn/direct/25c79eed0249491ebf79868fe7cd8230.png#pic_center

  • 简化登录命令

    # 执行上诉步骤之后,已经不需要密码认证了,但是还是需要记住ip。为了更加简化,我们可以把远程主机的信息记录到客户端ssh配置文件中
    vim ~/.ssh/config
    # 相当于执行
    # ssh -p 22 -i /home/guoke/.ssh/ali_cloud_8_142_20_10_key root@8.142.20.10
    Host ali_cloud
    	HostName 8.142.20.10
    	User root
    	Port 22
    	IdentityFile /home/guoke/.ssh/ali_cloud_8_142_20_10_key

三、使用

  • 需要登录远程主机的时候,可以执行以下命令查看自己配置中记录的远程主机信息

    # 如果写入了配置/etc/ssh/ssh_config中,将以下配置文件路径替换即可
    # 查看自己配置了那些远程主机
    cat ~/.ssh/config | grep '^Host ' | awk '{print $2}'
    # 更加详细的信息直接cat即可
    cat ~/.ssh/config
  • 登录远程主机

    # ssh [ssh_host]
    ssh ali_cloud

    https://i-blog.csdnimg.cn/direct/7e4cafbdbd9a48378883bc4fc5c30a18.png#pic_center

四、参考

  • 参考 配置文件部分