使用config 来管理ssh的会话
通常利用 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的会话的更多相关文章
- 利用 ssh 的用户配置文件 config 管理 ssh 会话
http://dhq.me/use-ssh-config-manage-ssh-session 利用 ssh 连接远程服务器,一般都要输入以下类似命令: 1 ssh user@hostname -p ...
- 利用ssh的用户配置文件config管理ssh会话
通常利用 ssh 连接远程服务器,一般都要输入以下类似命令: ssh user@hostname -p port 如果拥有多个 ssh 账号,特别是像我这种喜欢在终端里直接 ssh 登陆,不用 PuT ...
- Linux基础知识第六讲,远程管理ssh操作
目录 Linux基础知识第六讲,远程管理ssh操作 一丶什么是SSH 1.什么是SSH 2.了解域名跟端口 二丶SSH命令以及远程连接linux进行维护 1.ssh命令格式 2.scp远程终端拷贝文件 ...
- 第二十三章 多项目集中权限管理及分布式会话——《跟我学Shiro》
二十三章 多项目集中权限管理及分布式会话——<跟我学Shiro> 博客分类: 跟我学Shiro 跟我学Shiro 目录贴:跟我学Shiro目录贴 在做一些企业内部项目时或一些互联网后台时 ...
- 配置ssh连接会话复用免密码登录
我们经常使用ssh连接远程主机,为了方便,避免每次登录输入密码,通常使用密钥登录.如果没有设置密钥, 则需要使用密码登录了,若每次都输入密码则十分繁琐.我们可以设置ssh连接会话复用,则登录成功后,会 ...
- 9.Spring Cloud Config统一管理微服务配置
Spring Cloud Config统一管理微服务配置 9.1. 为什么要统一管理微服务配置 9.2. Spring Cloud Config简介 Spring Cloud Config为分布式系统 ...
- 使用Spring Cloud Config统一管理配置,别再到处放配置文件了
1 前言 欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章! 可配置是一个成熟软件系统应该提供的特性,而配置管理对于大型系统就显得十分重要,特别是对于拥有多个应用的微服务系统.可喜的是, ...
- spring cloud config center Git SSH configuration
Git SSH configuration using properties By default, the JGit library used by Spring Cloud Config Serv ...
- ssh的用户配置文件config管理ssh会话
抄的这个: https://www.cnblogs.com/zhonghuasong/p/7236989.html 只是在这里留个存档,防止删除 我有这样的需求就是,因为需要ssh连接到服务器,然后每 ...
随机推荐
- 吴裕雄 python深度学习与实践(7)
import cv2 import numpy as np img = np.mat(np.zeros((,))) cv2.imshow("test",img) cv2.waitK ...
- ELK Redis高性能加速
1.下载redis并安装好 wget http://download.redis.io/releases/redis-2.8.13.tar.gz tar zxf redis-.tar.gz cd re ...
- Vue watch的高级用法
<div> <p>FullName: {{fullName}}</p> <p>FirstName: <input type="text& ...
- 突然发现用PHP做多条件模糊查询很简单
原文:http://blog.csdn.net/suleil1/article/details/49471099 所使用的方法:$sqlArr=array();array_push();implode ...
- mysql学习笔记--数据完整性
一.数据完整性包括: 1. 域完整性 2. 实体完整性 3. 引用完整性 二.保证实体完整性 1. 主键约束 2. 唯一约束 3. 自动增长列 三.保证域完整性 1. 数据类型约束 2. 非空约束 3 ...
- 动态添加 SqlParameter 参数
List<SqlParameter> paras = new List<SqlParameter>(); paras.Add(new SqlParameter("@m ...
- thinkphp 视图(二)变量输出、赋值和替换
view下的html文件会编译成php文件 编译的文件在runtime 下的temp目录 <p>{$email}</p> 会编译成 <?php echo $email; ...
- vba文件对比并高亮显示
每月月底要和人事要离职人员名单,并账号列表里删除已经离职人员的账号,如下代码通过将账号列表与人事发来的离职清单进行对比,高亮找出离职人员的账号,并进行删除. Sub DeleteMain() Dim ...
- MySQL终章
视图 什么是视图 是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据 视图的特点 . 视图的列可以来自不同的表,是表的抽象和逻辑意义上建立的新关系. . 视图是由基本表 ...
- python07 函数式编程
1.作用域 1.1 pass关键字表示,暂时不写该方法 1.2表示返回值为方法 输出结果333 1.3函数作用域:和函数调用没关系,和声明的位置有关系, 结果为444 2.匿名函数 lanmbda ...