首页 > 其他分享 >ssh进阶,免密登录

ssh进阶,免密登录

时间:2024-03-10 16:35:04浏览次数:26  
标签:web 公钥 进阶 登录 61 免密 ssh root

免密登录(重点)

  • 公钥:一串字符串,在非对称加密里面用来加密数据,随意公开。
  • 私钥:一串字符串,在非对称加密里面用来解密数据,不能泄露。
    • 你原本是用root的密码进行身份验证,登录该服务器
    • 客户端更换为公钥形式登录
  • 普通密钥:一串字符串。在对称加密里面,加密和解密都用它

基于公私钥的认证(免密码登录)

windows免密登录linux

1. 生成公私钥,客户端的
客户端的~/.ssh 这个目录,就存放了客户端机器的公私钥文件
ssh-keygen
生成之后查看公钥私钥
$ ls ~/.ssh
id_rsa  id_rsa.pub

2.发给服务端
客户端的公私钥对以及有了,把客户端的公钥,发给服务端(~/.ssh/)
[root@m-61 ~]#ls ~/.ssh
known_hosts

通过命令,吧客户端的公钥,写入到服务端的authorized_keys文件中

$ ssh-copy-id [email protected]


3.检查服务端的 信任主机公钥文件 
这里存放了 客户端的公钥字符串
[root@m-61 ~]#cat  ~/.ssh/authorized_keys 


4.此时已经可以免密登录了,只能通过git-bash这个工具去免密登录,因为记录该主机名

ssh [email protected]

linux免密登录linux

master-61  免密登录 web-7

1.在61机器生成公私钥对儿
ls ~/.ssh/
[root@m-61 ~]#ssh-keygen 

2.检查公私钥
[root@m-61 ~]#ll ~/.ssh/

3.发送master-61的公钥,给web-7
为了免密登录
ssh-copy-id [email protected]

问题:web-7是如何允许master-61登录自己的

前提一定你通过某办法,吧master-61的公钥,写入到web-7机器的~/.ssh/authorized_keys
web-7 会去自己的 ~/.ssh/authorized_keys 是否有master-61的公钥

ssh账户密码认证涉及的配置文件、命令、以及作用

/etc/ssh/sshd_config 
Port 22999   修改端口
PubkeyAuthentication yes   允许公钥登录
PasswordAuthentication no    禁止密码登录
systemctl restart sshd   重启服务

ssh公私钥认证涉及的配置文件、命令、以及作用

ssh-keygen   生成公钥对
ll ~/.ssh/   生成公钥对的文件位置
ssh-copy-id [email protected]  将公钥发送给另一个机器
~/.ssh/authorized_keys   另一个机器接收到的公钥写入的文件

限制主机登录条件、设定iptables规则,只允许跳板机的流量(172.16.1.61)登录,其他机器的流量全部禁止。(只限定ssh的服务,限制22999的流量)

在想添加该规则的机器上执行

针对web-7限定只允许 master-61访问

[root@web-7 ~]#iptables -A INPUT ! -s 172.16.1.61 -p tcp --dport 22999 -j DROP
[root@web-7 ~]#
[root@web-7 ~]#
[root@web-7 ~]#iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
DROP       tcp  -- !172.16.1.61          anywhere             tcp dpt:22999

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  

标签:web,公钥,进阶,登录,61,免密,ssh,root
From: https://www.cnblogs.com/btcm409181423/p/18064318

相关文章

  • vue进阶二
    Vue进阶二一、Vue中的表单1.v-model修饰符创建表单,并通过v-model绑定data中的属性<template><divid="app"><divstyle="width:50%"class="container"> <div> <h3>Regist</h3> <h5>Email</......
  • vue进阶一
    Vue进阶一、vue实例(对象)1.一个基本的vue的实例<head> <metacharset="UTF-8"> <title></title></head><body> <divid="app"> <h1> {{title}} </h1> <buttonid=......
  • vue进阶三-webpack
    一、vue-router路由1.安装vue-router是一个插件包,所以我们还是需要用npm/cnpm来进行安装的。打开命令行工具,进入你的项目目录,输入下面命令。npminstallvue-router--save-dev如果在一个模块化工程中使用它,必须要通过Vue.use()明确地安装路由功能:importVuefrom'v......
  • 外部网络通过ssh连接WSL2
    外部网络通过ssh连接WSL2需要配置wsl2网络模式为镜像模式,并打开防火墙。最终可以实现通过局域网访问WSL2容器,同时当宿主机可以访问ipv6时,容器也自动支持。修改wsl位置文件.wslconfig​​,主要有以下两点关键步骤设置网络模式为镜像模式networkingMode=mirrored​​打开防火......
  • vue进阶
    Vue进阶一、vue实例1.一个基本的vue的实例<head> <metacharset="UTF-8"> <title></title></head><body> <divid="app"> <h1> {{title}} </h1> <buttonid=&quo......
  • 【Python使用】python高级进阶知识md总结第2篇:HTTP 请求报文,HTTP响应报文【附代码文
    python高级进阶全知识知识笔记总结完整教程(附代码资料)主要内容讲述:操作系统,虚拟机软件,Ubuntu操作系统,Linux内核及发行版,查看目录命令,切换目录命令,绝对路径和相对路径,创建、删除文件及目录命令,复制、移动文件及目录命令,终端命令格式的组成,查看命令帮助。HTTP请求报文,HTTP响应报文......
  • 详细解读Gitlab Runner中SSH到远程服务器的细节
    生成特有的密钥对用windows的命令行生成即可$ssh-keygen-trsa-C"[email protected]"执行如下图:上述命令行中,密钥保存在C:\Users\d211.ssh目录下:把上述公钥拷贝到目标服务器的对应用户目录下比方我们要在目标服务器,用上述私钥,以用户runner的身份登入。那么我们在目标......
  • Scanner对象、进阶与判断浅学
    前言之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner是Java5的新特征,我们可以通过scanner类来获取用户的输入基本语法代码Scannerstr=newScanner(System.in);通过Scan......
  • 【Python使用】python高级进阶知识md总结第1篇:My Awesome Book【附代码文档】
    python高级进阶全知识知识笔记总结完整教程(附代码资料)主要内容讲述:MyAwesomeBook,MyAwesomeBook。MyAwesomeBook,MySQL数据库。MyAwesomeBook,聚合函数。MyAwesomeBook,创建表并给某个字段添加数据。MyAwesomeBook,闭包。MyAwesomeBook,路由列表功能开发。MyAwesomeBoo......
  • ssh安全登录基础篇
    什么是SSHSSH或SecureShell协议是一种远程管理协议,允许用户通过Internet访问、控制和修改其远程服务器。SSH服务是作为未加密Telnet的安全替代品而创建的,它使用加密技术来确保进出远程服务器的所有通信都以加密方式进行。SSH是一种网络协议简单说,SSH是一种网络协议,用......