第五十四篇 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:如何编写自定义组件? 文中提到了重要的两点. 好,我们来试试看. 第一步, ...
随机推荐
- 数据库设计工具-powerdesigner
一.PowerDesigner导出SQL,注释为空时以name代替 操作步骤 1. 2. 3.将Value中的内容全部替换为如下 %:COLUMN% [%National%?national ]%DA ...
- jQuery笔记(三)jQuery中的事件
; padding:0;} body { font-size:13px; line-height:130%; padding:60px;} #panel { width:300px; border:1 ...
- npm ERR! Cannot read property 'match' of undefined
在Vue项目中运行npm i命令时直接提示npm ERR! Cannot read property 'match' of undefined错误了,此时需要把package-lock.json文件删 ...
- Linux 宝塔面板忘记密码的解决方案
进入ssh 输入以下命令重置密码(把命令最后面的 “testpasswd” 替换成你要改的新密码)注:若是debian/ubuntu用户,请使用有root权限的账户去执行这条命令 cd /www ...
- 2020牛客寒假算法基础集训营4-I 匹配星星【贪心】
链接:https://ac.nowcoder.com/acm/contest/3005/I来源:牛客网 示例1 输入 复制 2 1 1 0 2 2 1 2 1 1 0 2 2 1 输出 复制 1 1 ...
- 使用uni-app开发小程序,关于小程序更新后与用户本地不会及时更新解决办法
1.原因分析 在小程序更新开发版本之后,用户本地并没有对之前版本的小程序进行删除,那么再进入小程序的时候的版本是不会发生变化的,这是由于发版是异步执行,因此新版本将会覆盖的比较慢,本质是小程序的启动方 ...
- HTML连载64-a标签伪类选择器的注意点与练习
一.a标签的伪类选择器注意点 (1)a标签的伪类选择器可以单独出现,也可以一起出现.也就是可以设置多个状态的样式. (2) a标签的伪类选择器如果一起出现,那么有严格的顺序要求,编写的顺序必须要遵守原 ...
- 剑指offer 56.删除有序链表中的重复结点
56. 删除有序链表中的重复结点 题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3-> ...
- jdk 1.8.0_131 Class JavaLaunchHelper is implemented
错误提示:objc[49447]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jd ...
- wso2 linux上部署说明
1.启动wso2