通常利用 ssh 连接远程服务器,一般都要输入以下类型命令:

  ssh user@hostname -p port

如果拥有多个ssh账号,特别是像我这种喜欢在终端里直接ssh登录,
要记住每个ssh账号的参数,那是多么蛋疼的事情。

还好,ssh提供一种优雅且灵活的方式来解决这个问题,就是利用
ssh的用户配置文件config 管理 ssh 会话。ssh的用户配置文件是
放在当前用户根目录下的.ssh 文件夹里(~/.ssh/config, 不存在则新
创建一个), 其配置写法如下:

  Host 别名
HostName 主机名
Port 端口
User 用户名
IdentityFile 密钥文件的路径

有了这些配置,就可以这样用ssh 登录服务器了:


ssh 别名

生成公钥和密钥

但是使用这种方式的前提是,必须生成密钥,并且将密钥添加到服务器的
authorized_keys文件里。

使用密钥的好处就是省去每次ssh登录服务器时都要输入登录密码的操作,

这里使用ssh-keygen 生成ssh密钥。

  • 在 ~/.ssh/目录下执行

      ssh-keygen -t rsa

    直接一路回车即可
    最后会生成 id_rsa 的私钥,和 id_rsa.pub 的公钥。

  • 把公钥中的内容复制到 authorized_keys 文件中,不存在则新创建一个

      scp ./id_rsa.pub user@remote_ip:~/.ssh/id_rsa_1010.pub

    然后登录到远程服务器,把公钥 id_rsa_1010.pub 的内容复制到 authorized_keys 文件里

      cat id_rsa_1010.pub >> authorized_keys

    以ssh public key 的形式访问,对当前用户根目录的.ssh 文件夹里的目录文件是要
    有一定的权限要求,之前遇到过ssh public key 配置好了,不过用public key 登录验证时
    无效。所以,最好设下.ssh 目录权限为700,authorized_keys 权限为600.

如果authorized_keys 不为 600的话,ssh就登录不上去。即使所有的配置都正确。

  chmod 700 ~/.ssh/
chmod 600 authorized_keys

当然,用密钥的方式连接服务器是需要服务器上的ssh支持的,需要ssh的配置文件(默认是在/etc/ssh/sshd_config)
里的 PubkeyAuthentication设置为yes.如果要改登录的端口,直接把Port改成你想到的端口值就行。
修改完后重启下ssh,配置就生效:

  /etc/init.d/ssh restart
  • 最后本地的config 如下

      Host cjb
    HostName 216.194.70.6
    Port
    User user
    IdentityFile ~/.ssh/cjb

    配置完成之后,就可以在终端直接输入 ssh cjb 畅通无阻地连上远程的cjb服务器上了。

  备忘:

1 有时候ssh登录报错:

Unable to negotiate with 192.168.8.109 port 22: no matching host key type found. Their offer: ssh-dss
解决方法:
Host alias
HostName 192.168.8.109
HostKeyAlgorithms=+ssh-dss

使用config 来管理ssh的会话的更多相关文章

  1. 利用 ssh 的用户配置文件 config 管理 ssh 会话

    http://dhq.me/use-ssh-config-manage-ssh-session 利用 ssh 连接远程服务器,一般都要输入以下类似命令: 1 ssh user@hostname -p ...

  2. 利用ssh的用户配置文件config管理ssh会话

    通常利用 ssh 连接远程服务器,一般都要输入以下类似命令: ssh user@hostname -p port 如果拥有多个 ssh 账号,特别是像我这种喜欢在终端里直接 ssh 登陆,不用 PuT ...

  3. Linux基础知识第六讲,远程管理ssh操作

    目录 Linux基础知识第六讲,远程管理ssh操作 一丶什么是SSH 1.什么是SSH 2.了解域名跟端口 二丶SSH命令以及远程连接linux进行维护 1.ssh命令格式 2.scp远程终端拷贝文件 ...

  4. 第二十三章 多项目集中权限管理及分布式会话——《跟我学Shiro》

    二十三章 多项目集中权限管理及分布式会话——<跟我学Shiro> 博客分类: 跟我学Shiro 跟我学Shiro  目录贴:跟我学Shiro目录贴 在做一些企业内部项目时或一些互联网后台时 ...

  5. 配置ssh连接会话复用免密码登录

    我们经常使用ssh连接远程主机,为了方便,避免每次登录输入密码,通常使用密钥登录.如果没有设置密钥, 则需要使用密码登录了,若每次都输入密码则十分繁琐.我们可以设置ssh连接会话复用,则登录成功后,会 ...

  6. 9.Spring Cloud Config统一管理微服务配置

    Spring Cloud Config统一管理微服务配置 9.1. 为什么要统一管理微服务配置 9.2. Spring Cloud Config简介 Spring Cloud Config为分布式系统 ...

  7. 使用Spring Cloud Config统一管理配置,别再到处放配置文件了

    1 前言 欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章! 可配置是一个成熟软件系统应该提供的特性,而配置管理对于大型系统就显得十分重要,特别是对于拥有多个应用的微服务系统.可喜的是, ...

  8. spring cloud config center Git SSH configuration

    Git SSH configuration using properties By default, the JGit library used by Spring Cloud Config Serv ...

  9. ssh的用户配置文件config管理ssh会话

    抄的这个: https://www.cnblogs.com/zhonghuasong/p/7236989.html 只是在这里留个存档,防止删除 我有这样的需求就是,因为需要ssh连接到服务器,然后每 ...

随机推荐

  1. Hibernate 再接触 悲观锁和乐观锁

    为什么取1248 二进制 CRUD 移位效率高 在并发和效率选择一个平衡点 一般不会考虑幻读 因为我们不会再一个事务里查询两次,(只能设置为seralizable) 悲观锁和乐观锁的前提是read-u ...

  2. Echarts 柱状图属性详解

    <script type="text/javascript"> // 基于准备好的dom,初始化echarts实例 var myChart = echarts.init ...

  3. texmaker报错:could not start command 解决

    我当时文件命名加了邮箱,引入特殊字符@,然后就报错了

  4. window.location.href 页面不跳转解决

    function login() { var userid = $("#username").val(); var userpwd = $("#pwd").va ...

  5. VMware12上安装CentOS7无法上网问题

    常安装使用VMware的搭建集群环境,VMare安装后虚拟机默认的是自动获取IP,有时候用的过程中突然XSHELL中断或者需要固定IP上网,遇到几次居然,但忘了步骤,总结一下,省的每次去找资料 环境配 ...

  6. Django缓存设置

    由于Django构建得是动态网站,每次客户端请求都要严重依赖数据库,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中, ...

  7. Js学习(7)标准库-object对象

    Js原生提供Object对象,O大写,所有的其他对象都继承自Object对象,都是Object的实例 Object对象的原生方法分为两类: 本身的方法:直接定义在Object对象的方法 实例方法:定义 ...

  8. 获取CNVD的cookie

    def getCookie(self): #获取cookie spiderFirefox = webdriver.Firefox() spiderFirefox.get("http://ww ...

  9. Minimum Increment to Make Array Unique LT945

    Given an array of integers A, a move consists of choosing any A[i], and incrementing it by 1. Return ...

  10. (PMP)第9章-----项目资源管理

    9.1 规划资源管理 数据表现: 1.层级型(高层次的角色):工作分解结构,组织分解结构,资源分解结构 2.责任分配矩阵:RAM,RACI,执行,负责,咨询,知情(只有一个A) 3.文本型(记录详细职 ...