Linux:远程连接 SSH
一、认识 SSH
- 定义
- SSH(Secure shell):安全外壳协议;是建立在应用层基础上的安全协议;
- 通过 SSH 进行服务端连接,不容易被窃取信息;
- 连接服务器
ssh 服务器名 + @ + 服务器 Ip
- 功能、特点
- 可靠,专为远程登录会话和其它网络服务提供安全性的协议;
- 有效防止远程管理过程中的信息泄密问题;
- SSH 是典型的客户端和服务端的交互模式;
交互模式
- 客户端:社交软件 QQ、微信等,是客户端与服务端的交互;
- 网页端:浏览器是网页端与服务器的交互方式;
- 应用
- SSH 客户端适用于多种平台;
- SSH 服务端几乎支撑所有 UNIX 平台;
二、服务器安装 SSH 服务
- 在服务器的操作系统上安装 SSH 安全协议:openssh-server(服务端软件)
- ps -ef |grep + 应用名:查看应用进程;
1)步骤
- 安装 SSH
yum install openssh-server
- 启动 SSH
service sshd start
- 重新启动
service sshd restart
- 设置开机运行
chkconfig sshd on
- CentOS 是服务器版本的操作系统,已经默认集成安装好了 openssh-server;
- 一般桌面化的操作系统(带有可视化功能),都没有安装 SSH 协议,需要手动通过界面到操作系统后进行安装;
- 一般服务器版本的操作系统没有可视化功能;
三、客户端安装 SSH 工具
- SSH 是典型的客户端和服务端的交互方式,客户端广泛的支持各个平台;
- Windows 有很多工具可以支持 SSH 连接功能,如:Xshell、Putty、secureCRT;
Linux 平台需要安装客户端软件:openssh-clients(客户端软件)
yum install openssh-clients
- 客户端上只有安装了 SSH 协议,才能连接到服务器上
四、SSH 客户端连接 SSH 服务
- 从个人电脑连接到服务器,使用 Xshell 创建会话,其内部执行的命令:
命令:ssh + 空格 + 服务器名 + @ + 服务器的 IP
- 退出当前所连接的服务器(回到本地,如果在服务器中又连接了其它服务器,则先退到第一层服务器,在此执行命令则退出到本地电脑):
命令:exit
五、SSH config 命令讲解
1)config 的功能
通过 config 文件 ,批量管理多个服务器
- config 文件存放在地址: ~/.ssh/
- config 文件的配置语法
config 文件的内容:配置管理一台服务器
- Hostname:一般指 ip;
- Port 22:指 22 个端口;
2)通过 config 文件管理多个服务器
- 可以直接通过 mogo 名称连接 HostName 对应的 ip 服务器
- 在地址 “~/.ssh/” 下创建 config 文件:(该文件名必须是 config)
config 文件中的每一个 host 表示一个服务器,config 文件中设置多个 host ,则可以通过config 文件管理多个服务器
创建步骤:
- 进入指定地址
cd ~/.ssh/
- 创建文件
touch config
- 编辑文件:
命令一:vim config
命令二:i
三:编辑 2 太服务器的内容
host "imooc1"
HostName 192.168.0.100
User root1
Port 22host "imooc2"
HostName 192.168.0.101
User root2
Port 22命令四: :wq
连接 ip 为“192.168.0.100” 、名称为 root1 的服务器(必须先进入 “~/.ssh/” 地址位置)
命令一:cd ~/.ssh/
命令二:ssh imooc1
六、SSH 免密登录
1)简介
- ssh key :一种加密方式,使用非对称解码方式生成共钥和私钥;
- 私钥存放在本地目录:~/.ssh
- 公钥可以对外公开,放在服务器的 authorized_keys 文件内:~/.ssh/authorized_keys
- 当公钥放在服务器的 authorized_keys 文件内后,登录服务器不需要再输入密码
2)Linux 平台下使用 ssh key 生成加密文件
- 不同的加密算法对应不同的生成方式:Linux系统的生成方式
- 进入指定目录
cd ~/.ssh
- 方式一
ssh-keygen -t rsa
- 方式二
ssh-keygen -t dsa
- 在秘钥文件夹内,“.pub” 文件为公钥,不带 “.pub” 的文件内为私钥内容;
3)Windows 品台下,使用 Xshell 中的 ssh key 生成加密文件
- 在 Xshell 软件下:工具——新建用户秘钥生成导向——秘钥类型 RSA——下一步——设置秘钥名称以及需要加密的密码(也就是服务器密码)——完成
4)Windows 平台下,Xshell 软件使用加密文件
- 进入指定目录:
cd ~/.ssh
- 创建 authorized_keys 文件
touch authorized_keys
- 编辑 authorized_keys 文件,将使用 ssh key 加密方式把服务器密码生成的公钥添加到文件内
vim authorized_keys
- 从 Windows 系统再次使用 Xshell 连接到服务器时,不需要再次输入服务器密码
5)Linux 平台下使用加密文件
- 思路
- 公钥内容放在服务器的 “~/.ssh” 目录下的 “authorized_keys” 文件内;
- 将私钥文件加载到 “~/.ssh” 目录下
# 将私钥 “imooc_rsa” 加载到本地空间中
ssh-add ~/.ssh/imooc_rsa
- 从 Linux 系统进入服务器时,不再需要输入服务器密码;
6)端口安全
- 端口安全指的是尽量避免服务器的远程连接端口被不法分子知道,为此而改变默认服务端口的操作;
- SSH 的默认端口是 22 端口;
- http 的默认端口是 800;
- https 的默认端口是 43;
- 通过协议的端口可以连接服务器;
- 修改 SSH 服务端口:修改 /etc/ssh/sshd_config 的配置
- 一般不将端口:Port 22 删除,而是添加一个端口,让 SSH 服务同时监听两个端口;
- 直接编辑 config 文件,添加一个新端口:Port 10086
vim /etc/ssh/sshd_config
- 重启 SSH 服务
service sshd restart
Linux:远程连接 SSH的更多相关文章
- Linux远程连接ssh工具(FinalShell)xshell替代神器
对对对 FinalShell SSH工具,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux,版本2.9.8,更新时间2019.6.19 wntr 2017-01-17 11:0 ...
- linux 远程连接ssh提示 IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY解决
Linux ssh 远程登录到其他机器上时,有时会出现登不进去,并弹出如下类似提示的情况: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ...
- linux 远程连接ssh提示IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY解决
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HA ...
- ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(一)
ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(一) 本教程适用于想要在远程服务器上配置docker图形界面用于深度学习的用户. (一)ubuntu18.04配置n ...
- Mac电脑远程连接SSH Host key verification failed 解决办法
苹果电脑远程连接SSH出现如下问题: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ...
- Linux远程登录ssh免密码配置方法(仅供参考)
这篇文章主要介绍了linux远程登录ssh免密码配置方法,需要的朋友可以参考下(http://www.0834-3659999.com) 一.情景 公司刚上几台Linux,现在要把主机之间都能远程ss ...
- shell脚本命令远程连接ssh并执行命令
环境: redhat 6.5 根据网上提供方法,测试了很多写法都不成功,测试了很久才有了以下脚本. 命令远程连接ssh并执行命令,scp/ftp等远程连接操作同理: #!/usr/bin/expect ...
- ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(三)
ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(三) 本教程适用于想要在远程服务器上配置docker图形界面用于深度学习的用户. (三)配置远程桌面连接访问dock ...
- ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(二)
ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(二) 本教程适用于想要在远程服务器上配置docker图形界面用于深度学习的用户. (二)nvidia docker配 ...
- Linux远程连接Windows桌面
Ubuntu对初始用户的界面友好是有目共睹的:Fedora一向以创新.傲慢的姿态示人.其实,对于两者,我虽然更倾向于选择Fedora,但不可避免地会两者比较,发现Ubuntu更加人性化,这点是经过很多 ...
随机推荐
- protobuf与json转换
protobuf对象不能直接使用jsonlib去转,因为protobuf生成的对象的get方法返回的类型有byte[],而只有String类型可以作为json的key,protobuf提供方法进行转换 ...
- scala学习手记6 - 字符串与多行原始字符串
scala中的字符串类就是java中的java.lang.String类.不过scala也为String提供了一个富封装类:scala.runtime.RichString. scala可以将java ...
- RxJava+RxAndroid+MVP入坑实践(基础篇)
转载请注明出处:http://www.blog.csdn.net/zhyxuexijava/article/details/51597230.com 前段时间看了MVP架构和RxJava,最近也在重构 ...
- LeetCode第[16]题(Java):3Sum Closest (和目标值最接近的三个数的和)——Medium
题目难度:Medium 题目: Given an array S of n integers, find three integers in S such that the sum is closes ...
- 使用maven时报错Dynamic Web Module 3.1 requires Java 1.7 or newe
解决方法: 1. 在eclipse 构建 web中关于java版本有三处需要修改统一. (1)在 Java Build Path的libraries中修改 ...
- Mac系统下安装ipython分别支持python2和python3
操作系统:Mac10.11.5 python2.7.13 python3.6.1 安装python2: brew install python 安装python3: brew install pyth ...
- Mybatis输入和输出映射(parameterType和resultType的区别)
parameterType resultType ...
- Redis 数据备份与恢复,安全,性能测试,客户端连接,管道技术,分区(四)
Redis 数据备份与恢复 Redis SAVE 命令用于创建当前数据库的备份. 语法 redis Save 命令基本语法如下: redis 127.0.0.1:6379> SAVE 实例 re ...
- DDOS SYN Flood攻击、DNS Query Flood, CC攻击简介——ddos攻击打死给钱。限网吧、黄网、博彩,,,好熟悉的感觉有木有
摘自:https://zhuanlan.zhihu.com/p/22953451 首先我们说说ddos攻击方式,记住一句话,这是一个世界级的难题并没有解决办法只能缓解 DDoS(Distributed ...
- sql语言分类与整理:DQL\DML\DDL
整体分为三类: 数据库查询语言(DQL,data QUERY LANGUAGE):对表的查询语句,select 数据库定义语言(DDL,data defined LANGUAGE):create da ...