介绍

SSH 是创建在应用层和传输层基础上的安全协议,为计算机上的 Shell(壳层)提供安全的传输和使用环境。
SSH 只是协议,有多种实现方式,本文基于其开源实现 OpenSSH
远程登录
SSH主要用于远程登录:
$ ssh user@host
当本地用户名和远程用户名一致时,可省略用户名:
$ ssh host
SSH 协议默认端口是22,指定端口可使用 -p 参数
$ ssh -p 2222 user@host
MITM
SSH 采用公钥加密的方式来保证传输安全。过程如下:
However!
密码登录
第一次登录远程主机,会有如下提示:
$ ssh 10.0.0.12 The authenticity of host '10.0.0.12 (10.0.0.12)' can't be established. RSA key fingerprint is 3a:45:30:52:b5:ea:2a:55:e7:23:41:ef:16:76:0b:8d. Are you sure you want to continue connecting (yes/no)?
意思是:无法确认远程主机真实性,指知道它的公钥指纹,是否继续连接?
公钥指纹(fingerprint):公钥采用RSA算法,长度较长难以比对,所以对其进行MD5计算,得到128位的指纹,即上例中的3a:45:30:52:b5:ea:2a:55:e7:23:41:ef:16:76:0b:8d
其实并没有什么有效便捷的方式确认公钥指纹的真实性,确认接受远程主机公钥:
Are you sure you want to continue connecting (yes/no)? yes
系统提示远程主机已加入到受信主机列表:
Warning: Permanently added '10.0.0.12' (RSA) to the list of known hosts.
然后提示输入密码:
root@10.0.0.11's password:
输入密码正确,就可以正常登陆了。
当远程主机的公钥被接受以后,它就会被保存在文件$HOME/.ssh/known_hosts之中。下次再连接这台主机,系统会发现它的公钥已经保存在本地了,从而跳过警告部分,直接提示输入密码。
公钥登陆
除了密码登录,SSH 还支持公钥登录。
“公钥登录”原理是:用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求输入密码。
公钥登录需要用户提供自己的公钥,一般保存在 $HOME/.ssh/ 目录下,id_rsa是私钥,id_rsa.pub是公钥。如果没有可以通过ssh-keygen生成。
$ ls -1 ~/.ssh id_rsa id_rsa.pub known_hosts
需要把公钥发送到远程主机:
# ssh-copy-id [-i [identity_file]] [user@]machine $ ssh-copy-id root@10.0.0.12
此后再登录就不需要输入密码了。
如果还是无法使用公钥登录,可以检查一下远程主机SSH配置/etc/ssh/sshd_config,打开如*释并重启SSH服务[我发现CentOS release 6.8 (Final)默认SSH配置中注释掉以下内容也是可以使用公钥登录的]:
> #RSAAuthentication yes > #PubkeyAuthentication yes > #AuthorizedKeysFile .ssh/authorized_keys >
authorized_keys文件
远程主机将用户的公钥,保存在 $HOME/.ssh/authorized_keys 中。公钥是一段字符串,也可以手动追加到远程主机authorized_keys文件中,每行一个。
也可以通过如下命令代替ssh-copy-id,解释公钥的保存过程:
$ ssh user@host 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub
远程操作
SSH可以用于直接在远程主机上操作
# 查看远程主机Nginx进程 ssh 10.0.0.12 'ps -ef | grep nginx'
端口转发
本地转发
本地转发是指:把本地主机端口通过待登录主机端口转发到远程主机端口上去。
本地转发通过参数 -L 指定,格式: -L [本地主机:]本地主机端口:远程主机:远程主机端口
ssh -L 5000:www.google.com:80 user@host
通过上面的命令,访问本地5000端口,相当于访问远程主机www.google.com的80端口,并且这是通过通过登录主机来安全地转发数据的。当不能直接访问远程主机某端口,而登录主机可以访问时,可以使用这种方式将远程主机端口绑定到本地。
远程转发
远程转发是指:把登录主机端口通过本地主机端口转发到远程主机.
远程转发通过参数 -R 指定,格式: -R 登录主机端口:远程主机:远程主机端口。
ssh -R 8080:localhost:80 user@host
通过上面的命令,访问登录主机的 8080 端口就相当于访问 localhost:80!
例如下面这种场景:我在本机起了一个web服务,希望别人从外网访问或测试,但是外网是不能直接访问我的内网机器。所以我可以在本机上执行上面的命令,这样就就可以通过访问登录主机的80端口,来访问本机的80端口了,从而实现外网访问内网的应用了。简直太方便~
动态转发
动态转发不需要指定特定的目标主机和端口号,可以实现不加密的网络连接,全部走SSH连接,从而提高安全性。
例如把本地5000端口的数据,都通过SSH传向登录主机:
ssh -D 5000 user@host
例如可以用于科学上网的场景,在浏览器中设置代理类型为 SOCKS(5),主机及端口为127.0.0.1:5000 就可以通过登录主机科学上网了。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
# ssh远程端口转发
# ssh
# 端口转发
# ssh远程登录端口
# SSH原理及两种登录方法图文详解
# ssh自动登录的4种实现方法
# 设置ssh无密码登录linux服务器的方法
# SSH 登录工具常用命令
# Linux下SSH免密码登录配置详解
# SSH证书登录方法详细教程
# 公钥
# 自己的
# 输入密码
# 就可以
# 客户端
# 是指
# 可以通过
# 可以使用
# 本机
# 机上
# 内网
# 这是
# 有什么
# 就会
# 远程登录
# 会有
# 我在
# 是有
# 很难
# 不需要
相关文章:
Swift中switch语句区间和元组模式匹配
建站之星安装后如何配置SEO及设计样式?
建站主机选哪家性价比最高?
如何撰写建站申请书?关键要点有哪些?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
韩国服务器如何优化跨境访问实现高效连接?
建站之星安装模板失败:服务器环境不兼容?
如何访问已购建站主机并解决登录问题?
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
建站之星如何实现PC+手机+微信网站五合一建站?
c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】
宁波免费建站如何选择可靠模板与平台?
代购小票制作网站有哪些,购物小票的简要说明?
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
常州企业建站如何选择最佳模板?
较简单的网站制作软件有哪些,手机版网页制作用什么软件?
建站之星安装提示数据库无法连接如何解决?
如何挑选优质建站一级代理提升网站排名?
如何配置WinSCP新建站点的密钥验证步骤?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?
动图在线制作网站有哪些,滑动动图图集怎么做?
微信推文制作网站有哪些,怎么做微信推文,急?
如何快速辨别茅台真假?关键步骤解析
网站制作价目表怎么做,珍爱网婚介费用多少?
北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?
北京网站制作网页,网站升级改版需要多久?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
昆明高端网站制作公司,昆明公租房申请网上登录入口?
,如何利用word制作宣传手册?
如何获取PHP WAP自助建站系统源码?
北京的网站制作公司有哪些,哪个视频网站最好?
建站主机CVM配置优化、SEO策略与性能提升指南
详解jQuery停止动画——stop()方法的使用
建站之星伪静态规则如何正确配置?
怀化网站制作公司,怀化新生儿上户网上办理流程?
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
山东云建站价格为何差异显著?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?
公司网站制作需要多少钱,找人做公司网站需要多少钱?
如何快速配置高效服务器建站软件?
如何用PHP快速搭建CMS系统?
实现点击下箭头变上箭头来回切换的两种方法【推荐】
制作网站的软件免费下载,免费制作app哪个平台好?
如何快速搭建高效服务器建站系统?
广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?
已有域名建站全流程解析:网站搭建步骤与建站工具选择
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
*请认真填写需求信息,我们会在24小时内与您取得联系。