Linux下使用SSH连接远端服务器技术总结
1.写在前面的话
- 用linux系统,肯定少不了使用
ssh
,为什么?你难道想带着你的u盘从上海跑到北京吗? - 如果你只会
ssh xxxx@xxxxx
或者scp xxxxxx xxxxxx
这两条命令的话,我相信你一定不了解ssh里面深层次的东西 - 那为什么要了解深层次的东西呢?不是会用就可以了吗?因为当你想
不用密码就登录服务器
或者不输入一长串ip地址
的时候,就需要了解这些东西了 - 本文主要就以上两个情况进行技术分析
2.不用密码登录
- 每次都要输入密码,太过于繁琐了
- 要想不用密码登录,就要考虑使用公钥。公钥是什么呢?就是由本地机子生成的,用于本地和服务器之间进行连接的钥匙,而私钥是用于解密从服务器端发送的由公钥加密的信息,反过来,公钥是用于解密本地的由私钥加密的信息。
- 简单来讲,本地和服务器要想连接起来,就必须互相发一条消息,通过加密解密来相互认证,看是否一致,若一致就同意连接
- 综上,通过公钥就能实现免密码的过程,因为身份验证的过程已被加密解密过程所替代了
- 那么,具体怎么操作呢?
首先,在你的本地运行以下命令,在
~/.ssh/
下创建一个名叫id_rsa-remote-ssh
的密钥,这个密钥包含了两个密钥对,即:① 公钥:id_rsa-remote-ssh.pub
② 私钥:id_rsa-remote-ssh
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa-remote-ssh
其中,
-f
是自己指定创建的密钥名称,如果不指定,会创建一个名为id_rsa
的密钥,如果你想为不同的服务器创建不同的密钥,(想要方便管理的话)就要用-f
然后,将公钥
id_rsa-remote-ssh.pub
复制到服务器的~/.ssh/
下,这样就完成了认证文件的传递了最后,在服务器上运行:
cat id_rsa-remote-ssh.pub >> authorized_keys
这样就完成了认证连接啦,下一步就是运行
ssh xxxxx@xxxx
试试水了[补]:开始的时候没有注意,忘了修改本地端的
id_rsa-remote-ssh.pub
文件权限了,怪不得会报出以下警告:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ It is required that your private key files are NOT accessible by others. This private key will be ignored.
警告内容无非是说:
id_rsa-remote-ssh.pub
文件可以被服务器操作,造成安全隐患,所以运行以下代码就可以了:sudo chmod 600 id_rsa-remote-ssh.pub
[补]:在服务器端的
authorized_keys
的权限也要设置为600
,不然,仍需要输入密码登录
3.不输入ssh xxx@xxxx
- 解决了输密码的问题后,还想一步登天------不输入
ssh xxx@xxxx
中的xxx@xxxx
,而是改为自定义的名称,比如iloveai
- 具体怎么做呢?
首先,打开
~/.ssh/config
文件然后,在里面添加以下代码:
Host iloveai HostName ------remote ip------ User i_-------remote username-------- IdentityFile ~/.ssh/id_rsa-remote-ssh.pub
最后,运行
ssh iloveai
,看看能不能直接连上吧[补]: 还没完,做了第4步后,还会提示以下的错误:
Load key "xxxxxxxx/.ssh/id_rsa-remote-ssh.pub": invalid format
报上面的错误的原因是,
ssh
的版本问题,我现在用的是高版本的ssh
,所以不能在~/.ssh/config
下的IdentityFile
中写id_rsa-remote-ssh.pub
,而应该改为id_rsa-remote-ssh
[补2]: 原来在
IdentityFile
中写id_rsa-remote-ssh.pub
本来就是错误的做法,正确的做法肯定是写id_rsa-remote-ssh
,因为在认证的时候,本地给服务器发的就是经过私钥id_rsa-remote-ssh
加密的信息,然后在服务器用公钥id_rsa-remote-ssh.pub
进行解密
4. 顺便提提http和https吧
- https就是加密的http,道理和密钥一样
- http就是一种浏览器和服务器进行通信的一种协议,但是没有密码哦,所以如果你登录采用http协议的网站进行网购的时候,你的个人信息很有可能被第三方截取
- 那么,https就是在http上增加了密码,这样信息泄露的概率就大大降低了
Linux下使用SSH连接远端服务器技术总结相关推荐
- aws linux使用ssh登陆_【Linux】 使用ssh连接远程服务器
[Linux] 使用ssh连接远程服务器 前言:SSH,英文全称是Secure Shell Protocol(安全的壳程序协议).SSH是现在公司基本上都在使用的一种文字接口的加密传输技术,采用的是非 ...
- Mac下使用SSH连接远程Linux服务器
本文主要介绍三种方法,在Mac下使用SSH连接远程Linux服务器. 方法一:使用终端 1.打开终端,点击新建远程连接 2.点击加号,然后添加自己服务器的IP地址 3.点击右侧的服务器,然后在下方输入 ...
- Mac/Linux系统连接远端服务器以及相同IP地址的服务器账号密码重置,ssh失败问题
连接远端服务器 ssh 账号@IP地址 输入完成之后会提示输入密码,密码输入正确后,就可以连接成功了 重置ssh密钥 如果连接的服务器除了IP地址没有改变,其余的账号.密码.系统等都变了的话,因为曾经 ...
- Mac下ssh连接远程服务器时自动断开问题
在mac下使用securecrt通过ssh连接远程服务器时,总会一段时间没有动作后,ssh被自动断开.在windows下用xmanager貌似没有遇到过这个问题. 在网上找了解决方法如下: 客户端配置 ...
- SSH 连接远端 Ubuntu 服务器设置防火墙,实现只允许白名单访问
SSH 连接远端 Ubuntu 服务器设置防火墙,实现只允许白名单访问 环境情况 需求 实现 需求1-只允许白名单访问 需求2-设置服务器禁止 PING 记录时间:2021/6/25 环境情况 服务器 ...
- 【Linux】ssh连接远程服务器
[Linux]ssh连接远程服务器 1.背景 2.实例 1.背景 Secure Shell(SSH)是一种加密网络协议,用于在不安全的网络上安全地运行网络服务. 利用SSH可以实现加密并安全地远程登录 ...
- VSCode 中利用 Remote SSH 连接远程服务器
北京时间 2019 年 5 月 3 日,在 PyCon 2019 大会上,微软发布了 VS Code Remote.这是一个用来实现远程开发的功能插件,对于许多使用 Windows 进行开发,但是需要 ...
- Linux下使用SSH、Crontab、Rsync三工具实现数据自动备份
Linux下使用SSH.Crontab.Rsync三工具实现数据自动备份 作为网管人员大概都无一例外的经历过系统备份,尤其是重要系统的备份.重要数据库系统的备份工作.由于备份是个频繁而琐碎的工作,如何 ...
- Filezilla-使用ssh连接到服务器-上传下载文件
连接服务器 这里介绍两种ssh连接方式(命令行以及ftp工具Fillzilla) 首先下载安装Fillzilla,安装教程自行百度,这里分客户端跟服务端两个版本. 客户端 我们选择下载客户端(传输文件 ...
最新文章
- LeetCode实战:两数之和
- 数据中心IT机房末端气流组织管理
- Python模块包中__init__.py文件的作用(转载)
- 【LeetCode - 32】最长有效括号
- 举例说明Java中代码块的执行顺序
- 【Java】探究Java数组的本质
- 使用 openssl 生成证书
- 火爆数字资产Vpay plustoken各种钱包开发,你看中了哪一款?
- R语言rank函数详细解析
- ubuntu 如何放大终端窗口字体
- 【HTML+CSS之小米商城页面图】
- 史上最详细SharePoint 2007安装步骤图解新手教程
- python出错 unexpected keyword argument 'categories'
- 机器学习--岭回归10
- JavaWeb项目+MVC三层架构+Mysql+Tomcat+汽车配件销售系统前后端+可以用于学习javaweb项目入门
- matlab由两位随机整数构成的矩阵,建立5阶由两位随机整数构成的矩阵A,其语句是( )...
- gradle-6.5-all 快速下载
- 开关电源为什么要接假负载?答案给你总结好了
- 抽奖概率 php_php抽奖概率算法
- LightOJ 1319 - Monkey Tradition CRT除数互质版
热门文章
- python大作业数独_python做一个数独小游戏
- java 字符串常用函数_Java学习笔记35:Java常用字符串操作函数
- wps python 自动化_请教下 Python 高手,如何用 Python 自动化操作 Excel?
- matlab 写入 MYSQL_阿里开源MySQL中间件Canal快速入门
- 静态成员变量以及静态成员函数
- 【caffe-windows】 caffe-master 之Matlab中model的分类应用
- 实验5.6 定义包含5个元素的对象数组,每个元素都是Employee类型的对象
- PAT 乙级1019	数字黑洞
- 如何设置Eclipse新建项目的默认编码方式
- 【Qt教程】1.10 - Qt5模态与非模态对话框( QDialog)