介绍:

做开发时常常需要登陆远程服务器执行一些操作,以前每次都是使用 ssh userName@ip 来登陆,然而ip地址很难记,每次都需要查找下,导致效率太低下,使用ssh别名可以做到仅输入 cloud 登陆,连密码都不用输入,Windows用户请绕行...

操作步骤:

1 在主机A创建密钥对

 ssh-keygen     #创建证书,然后均回车(选择默认)

2 将公钥文件上传至远程主机

 ssh-copy-id -i ~/.ssh/id_rsa.pub  root@123.45.67.89   #根据提示输入密码

此步的目的是将公钥拷贝到服务器的 authorized_keys 文件中, 也可以用

cat ~/.ssh/id_rsa.pub | ssh user@123.45.67.89 "cat >> ~/.ssh/authorized_keys"

3 设置登录别名

3.1 在 ~/.ssh/ 目录下新建 config 文件

$ vim ~/.ssh/config

内容如下:

Host cloudHostName 123.45.67.89User root
​
Host cloud1HostName 123.45.67.90User root...

配置完成后 就可以使用 ssh cloud 命令登陆该远程服务器

3.2 也可以修改 .bash_profile 文件

$ vim ~/.bash_profile

添加如下内容:

alias cloud='ssh root@123.45.67.89'

配置完成后执行

source .bash_profile

使得.bash_profile立即生效,就可以使用 cloud 命令登陆该远程服务器

是不是感觉这样更加方便呢?

原理:

  1. 在客户端使用ssh-keygen生成一对密钥:公钥+私钥
  2. 将客户端公钥追加到服务端的authorized_key文件中,完成公钥认证操作
  3. 认证完成后,客户端向服务端发起登录请求,并传递公钥到服务端
  4. 服务端检索authorized_key文件,确认该公钥是否存在
  5. 如果存在该公钥,则生成随机数R,并用公钥来进行加密,生成公钥加密字符串pubKey(R)
  6. 将公钥加密字符串传递给客户端
  7. 客户端使用私钥解密公钥加密字符串,得到R
  8. 服务端和客户端通信时会产生一个会话ID(sessionKey),用MD5R和SessionKey进行加密,生成摘要(即MD5加密字符串)
  9. 客户端将生成的MD5加密字符串传给服务端
  10. 服务端同样生成MD5(R,SessionKey)加密字符串
  11. 如果客户端传来的加密字符串等于服务端自身生成的加密字符串,则认证成功
  12. 此时不用输入密码,即完成建连,可以开始远程执行shell命令了

添加别名_ssh别名免密登陆服务器相关推荐

  1. 【生成密钥免密登陆服务器】

    解决VScode+remote SSH免密登录服务器. 首先,先在Windows的powershell里面输入以下命令: ssh-keygen -t rsa -C "your_email@e ...

  2. 免秘登陆linux_linux 免密登陆(超简单)

    一.客户端生产公钥 在windwos上 生成公钥私钥前,先下载git哦 ssh-keygen -t rsa # 记住下方方框内公钥保存地址, 二.查看自己用户的登录地址 cat /etc/passwd ...

  3. 多台Linux服务器之间互相免密登陆

    多台Linux服务器之间互相免密登陆 例如我们有三台Linux 服务器: 192.168.0.1 192.168.0.2 192.168.0.3 1.1 首先配置服务器 1 面密令登录2 和 3 1. ...

  4. linux100台服务器免密,多台Linux服务器之间互相免密登陆,脚本同步免密

    多台Linux服务器之间互相免密登陆,脚本同步免密 环境: 三台Linux 服务器 IP                          Release                        ...

  5. ssh免密登陆远程linux服务器

    在工作的时候需要经常连接各个远程服务器,正常情况下每次连接远端服务器时都需要输入登陆账户的密码,每次输入都比较麻烦,希望走一个免登陆的效果. 1.生成公私钥 ssh-keygen -t rsa -C ...

  6. linux ssh免密登陆远程服务器

    10.170.1.18服务器免密登录到10.170.1.16服务器 首先登入一台linux服务器(10.170.1.18),此台做为母机(即登入其他linux系统用这台做为入口):执行一行命令生成ke ...

  7. mac、Linux SSH 阿里云 vultr免密登录服务器

    mac.Linux SSH 阿里云 vultr免密登录服务器 当你拥有了自己云服务器的时候,一定为了每次登录服务器输入密码特别痛苦. 那么福利来了,简单配置一下,免密登录你的服务器,希望能帮到大家 注 ...

  8. vscode ssh免密登陆设置

    步骤很简单: 1 生成公钥,在本地机器上执行ssh-keygen. 2 将本地的公钥拷贝到远端机器上,在本地机器上执行ssh-copy-id -i ~/.ssh/id_rsa.pub usrname@ ...

  9. linux设置免密ssh,Linux终端设置免密登陆ssh(以 XShell 为例)

    1.打开Xshell 2.在终端里生成免密登陆需要的密钥 2.导出公钥,存为来保存公钥.需要进一步把保存的公钥copy到远程服务器 3.Windows下可使用winscp工具或使用远程服务器的lszs ...

最新文章

  1. swoole学习(一)----linux安装swoole
  2. UVA 1156 - Pixel Shuffle(模拟+置换)
  3. QT子线程与主线程的信号槽通信
  4. C语言多项式乘法模拟,急!!!!c语言:求n次多项式的加法和乘法
  5. svg mysql_SVG 实例
  6. python接口自动化(四十四)- 公共模块configparser读取ini数据库、邮箱配置文件(单独说明)
  7. echarts 引用地图的json
  8. webots自学笔记(七)通过定义顶点构件3D形状(IndexedFaceSet节点)
  9. Activity、View、Window的理解一篇文章就够了
  10. mysql交互式创建表_MySQL 必知必会 创建和操纵表
  11. Spark学习笔记:Spark Streaming与Spark SQL协同工作
  12. python_lintcode_52翻转字符串_128哈希函数
  13. python实验--文字小游戏(小黑屋)
  14. react起步,冲冲冲
  15. 文件丢失了怎么能复原
  16. 颜色的识别方法和探索 基于matlab
  17. bitset的使用方法
  18. 三峡大学计算机与信息工程学院,三峡大学计算机与信息学院.doc
  19. 谁是第一个计算机系?
  20. element tab选项卡标签样式

热门文章

  1. wxWidgets:源代码概览
  2. boost::test模块命名函数参数框架的单元测试
  3. boost::pfr模块ops相关的测试程序
  4. boost::outcome模块containers相关的测试程序
  5. GDCM:gdcm::StringFilter的测试程序
  6. GDCM:DICOM PS 3.10文件格式的测试程序
  7. boost::convert模块实现默认转换器的测试程序
  8. ITK:详尽的优化器
  9. ITK:基本区域增长
  10. ITK:计算矢量图像中每个像素的大小以生成大小图像