第五十四篇 Linux相关——远程连接SSH
- 建立在应用层基础上的安全协议
- 可靠,专为远程登录会话和其他网络服务提供安全性的协议
- 有效防止远程管理过程中的信息泄漏问题
- SSH客户端适用于多种平台
- SSH服务器端几乎支持所有Unix平台
- 安装命令:yum -y install openssh-server
- 启动命令:service sshd start
- 设置开机运行命令:chkconfig sshd on
- 查看ssh服务运行状态:ps -ef | grep ssh
- SSH是典型的客户端和服务器端的交互模式,客户端广泛支持各种平台
- Windows有很多工具支持SSH连接功能,例如:Xshell,Putty,secureCRT
- Linux平台安装客户端软件的命令:yum -y install openssh-clients
- 输入命令:ssh root@192.168.75.134
- 输入密码,回车即可连接
- config是为了方便客户端批量管理多个ssh远程连接
- config存放在~/.ssh/config,一般没有这个文件,需要自行创建
- 输入命令:cd ~/.ssh/
- 输入命令:touch config
- 输入命令:vim config
- 编辑完成后内容如下:

- 然后直接在客户端输入命令:ssh litejie,即可访问远程服务器,而不用 ssh root@47.104.251.169
- SSH config语法关键字:Host(别名)、HostName(主机名)、Port(端口)、User(用户名)、IdentityFile(密钥文件路径)
- ssh key使用非对称加密方式生成公钥和私钥
- 私钥存放在本地~/.ssh目录
- 公钥可以对外开放,放在服务器的~/.ssh/authorized_keys中
- 打开Xshell软件
- 依次点击:Tools->User Key Manager->Generate
- Key Type可以先择RSA或DSA,然后点击Next,然后再点击Next
- 输入Key Name,Passphrase可以不输入
- 点击Next
- 点击Save as a file
- 点击Save
- 点击Finish
- 输入命令:cd ~/.ssh/
- 输入命令:ssh-keygen -t rsa
- 输入Key Name回车
- Passpharse可以不输入,直接回车
- 生成完毕,输入命令ls,查看新生成的密钥文件

- 如果服务器端没有authorized_keys文件,先在服务器端创建一个authorized_keys文件:touch authorized_keys
- 编辑authorized_keys文件,将生成的公钥信息复制到这个文件里面,并保存退出
- 打开Xshell,依次点击:File->New
- 输入Name和Host,然后点击左侧的Authorization,Method选择Public Key,然后输入下方的User Name,最后选择User Key,点击OK,再点击Connect,就可以直接实现远程登录
- 如果服务器端没有authorized_keys文件,先在服务器端创建一个authorized_keys文件:touch authorized_keys
- 编辑authorized_keys文件,将生成的公钥信息复制到这个文件里面,并保存退出
- 然后再客户端输入命令:ssh-add ~/.ssh/litejie_rsa加载私钥信息
- 如果上一步失败,先执行一下命令:ssh-agent bash
- 加载完私钥之后,直接输入 ssh 主机别名,即可实现对远程服务器免密登录
- 但是后面三步每次都得执行一遍
- 端口安全指的是尽量避免服务器的远程连接端口被不法分子知道,为此而改变默认服务端口号的操作
- 修改SSH服务的默认端口:vim /etc/ssh/sshd_config
- 修改如下内容

- 上面这种配置效果可以同时监听两个端口
- 重启服务:service sshd restart
- 一般是不会修改SSH端口号的
第五十四篇 Linux相关——远程连接SSH的更多相关文章
- 第五十二篇 Linux相关——数据库服务MySQL
No.1. MySQL基本操作 CentOS7默认安装mariadb数据库,先将其移除 移除命令:sudo yum -y remove mariadb-libs.x86_64 下载MySQL源 ...
- Linux:远程连接 SSH
一.认识 SSH 定义 SSH(Secure shell):安全外壳协议:是建立在应用层基础上的安全协议: 通过 SSH 进行服务端连接,不容易被窃取信息: 连接服务器 ssh 服务器名 + @ + ...
- 五十四、linux 编程——TCP 编程模型
54.1 编程模型介绍 54.1.1 TCP 客户端服务器编程模型 客户端调用序列 调用 socket 函数创建套接字 调用 connect 连接服务器端 调用 I/O 函数(read/write) ...
- 第五十四篇、OC利用AFN上传上传语音
如果不是NSData就要想办法把语音文件转化为NSData,然后才能上传服务器. 首先我们拿到语音文件对应的NSData对象 NSData *voiceData = [message valueFor ...
- 第五十四篇:网络通信Axios
好家伙,补充知识 1.什么是Axios? Axios可以在浏览器中发送 XMLHttpRequests Axios 是一个基于 promise 的 HTTP 库,简单的讲就是可以发送get.post请 ...
- Spring Cloud第十四篇 | Api网关Zuul
本文是Spring Cloud专栏的第十四篇文章,了解前十三篇文章内容有助于更好的理解本文: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring C ...
- 跟我学SpringCloud | 第十四篇:Spring Cloud Gateway高级应用
SpringCloud系列教程 | 第十四篇:Spring Cloud Gateway高级应用 Springboot: 2.1.6.RELEASE SpringCloud: Greenwich.SR1 ...
- SpringBoot第二十四篇:应用监控之Admin
作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/11457867.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言 前一章(S ...
- Egret入门学习日记 --- 第十四篇(书中 5.4~5.6节 内容)
第十四篇(书中 5.4~5.6节 内容) 书中内容: 总结 5.4节 内容重点: 1.如何编写自定义组件? 跟着做: 重点1:如何编写自定义组件? 文中提到了重要的两点. 好,我们来试试看. 第一步, ...
随机推荐
- Java高级项目实战之CRM系统01:CRM系统概念和分类、企业项目开发流程
1. CRM系统介绍 CRM系统即客户关系管理系统, 顾名思义就是管理公司与客户之间的关系. 是一种以"客户关系一对一理论"为基础,旨在改善企业与客户之间关系的新型管理机制.客户关 ...
- STL-queue 队列
#include <iostream> #include <queue> using namespace std; int main() { // queue也很简单 // p ...
- 每个Web开发者都应该知道的SOLID原则
面向对象的编程并不能防止难以理解或不可维护的程序.因此,Robert C. Martin 制定了五项指导原则,使开发人员很容易创建出可读性强且可维护的程序.这五项原则被称为 S.O.L.I.D 原则. ...
- 输出《Harry Potter and the Sorcerer's Stone》文本中的前N个最长用的英文单词及其数量
输出<Harry Potter and the Sorcerer's Stone>文本中的前N个最长用的英文单词及其数量 实验思路: 1. 利用输入流将文件当中内容读入. 2. 将文件内容 ...
- STL函数 lower_bound 和 upper_bound 在算法竞赛中的用法
以前比较排斥这两个函数,遇到需要二分的情景都是手写 \(while(left<=right)\). 这次决定洗心革面记录一下这两个函数的在算法竞赛中的用法,毕竟一般不会导致TLE. 其实百度百科 ...
- 洛谷 P4708 画画
题意 在所以置换下,本质不同的各个极大连通子图均含有欧拉闭迹的\(n\)阶图个数 做法 务必先做完这题再看此题解,因为会省略大部分分析了 仍是从边入手,隔外限制:各个点度数是偶数 某个因子内\((m= ...
- 数据结构与算法之比较排序【Java】
比较排序与非比较排序的对比 常见的快速排序.归并排序.堆排序.冒泡排序等属于比较排序.在排序的最终结果里,元素之间的次序依赖于它们之间的比较.每个数都必须和其他数进行比较,才能确定自己的位置.在冒泡排 ...
- Qt多线程实现思路一
实现一个线程开启时,时间计时器任然能够计数,两路独立工作的线程功能.从类的帮助文件中可以看到如下信息,静态公共成员函数和保护类型的函数,在静态函数中有睡眠函数msleep毫秒级,sleep秒级,usl ...
- jQuery---第一部分复习
jquery: 简单.粗暴 jq和js的关系 js是什么? js是一门编程语言 jq仅仅是基于js的一个库,jq可理解为就是开发js的一个工具. 概念 1. 为什么 ...
- 如何处理pom文件中没有找到HUB检查到高危漏洞的依赖包
最近使用HUB工具检查到maven工程中存在高危险漏洞,虽然定位到具体的引用包了,但是在pom文件中却没有发现该依赖包.此时,我们就需要用到这条命令mvn dependency:tree,该命令会将m ...