ssh远程登录配置、公私钥密码ssh体系构建

1、远程登录服务openssh
openssh服务器提供ssh远程加密登录,经常使用于公网,加密数据传输过程当中安全,默认装机最小化时候也是装好的,sshd服务配置文件是/etc/ssh/sshd_conf,ssh协议的端口号默认是22,以防别人发起端口***,现网中正常都是换1024以上的端口号,1024之内通常都有使用需求
talent:远程登录 默认端口号23,明文传输经常使用于局域网
配置文件/etc/ssh/sshd_config功能详解
2、用户登录控制linux

port 22 // 端口22
listenadderss // 服务器全部网卡能够监听,那么只要连服务器任何一块网卡均可以去享受这个ssh服务算法

LoginGrace Time // 登录验证时间 2min
PermitRootLogin NO //不容许root登录——》现网中都是以普通用户身份登录,输入用户名密码切换到系统安全shell环境,su - 切换成root,这是安全的意识
maxauthtries //最大重试次数
当容许或者禁用某些用户登陆时候 allowusers denyusers,不要同时出现,要么容许谁,要么禁止谁
Allowusers tom jack lucu @192.168.10.40 // 容许这三我的登录10.40这个服务器 这个不是配置文件里面默认的选项,须要手动添加
因此会有这么个需求,root用户不能远程登录,普通用户登录进去su - root这么个说法,就是经过这两条语句实现
PermitRootLogin NO
Allowusers tom jack lucu @192.168.10.40
注意这个allow只容许,deny很强大,他优先级优先只容许谁登录,后面把PermitRootLogin NO改为yes ,要把这个allow去掉或者里面加上root,容易出错的地方
3、登录验证方式
首先来了解一下,加密验证的三种方式
对称加密:加密方和解密方密码一致验证,常见的就是用户名的密码验证,服务器上记录了这个用户名的密码,你输入了这个用户名的密码,一致,验证经过。优点:简便 。劣势:从客户端来看正在链接的服务器容易被假冒,就是你拿到了tom密码,就必定说明你就是tom这我的吗,从服务器来看,
此种加密容易遭到密码的穷举暴力破解
非对称加密:加密密码和解密密码不同,简称为秘钥对,公私钥。加密一个文件出现一对密码,一个公钥,一个私钥,私钥加密,公钥解密 一般先在客户端建立一对秘钥文件产生关联识别的公私钥(经过必定算法认识彼此),私钥客户端存着,公钥文件放在服务器指定位置,客户端远程登录服务器时,系统看到私钥,会比对公钥库,进行公私钥关联验证,如过有经过,没有不经过,因此服务器就有公钥文件库,每一个客户端都有一把私钥,客户端来链接我服务器,好,出示私钥,我来比对公钥库,有没有公钥来和你进行匹配验证经过,有经过,没有走人,因此你看到服务器公钥上没有用,没法用公钥推算私钥,这和公私钥产生的数学算法有关,得有私钥匹配才行。
ssh远程登录配置、公私钥密码ssh体系构建
单向加密:文件加密后不解密,多用于验证,哈希值加密,密文用来验证文件完整性,举个例子,网上有个软件包,哈希密文是一个值,你经过不论是网络仍是什么渠道下载到本身电脑里,若是软件包的哈希值仍是同样,那么就说明软件包很纯净,我不须要解密,只须要对比,这就是单向加密。
总结:在现网中,对于安全性要求较高服务器,建议禁止用户名密码登陆方式,采用秘钥对,若是配置文件中两种方式都启用,默认秘钥对优先
passwdauthentication yes // 启用密码验证
pubkeyauthentication yes // 启用秘钥对验证
AuthorizedKeysFile .ssh/authorized_keys //指定公钥文件库,收集各个客户端的公钥存放在一块儿
4、客户端登陆方式
若是你的客户端是微软,你可使用微软上的xshell,putty等第三方软件远程登录ssh服务器,这是咱们比较常见的,在现网中也可使用一台linux登录另外一台linux,这都是没有问题的,openssh客户端由openssh-clients软件包提供(默认装好),其中包括ssh远程登录命令,scp,sftp远程复制和文件传输命令等,实际上,任何支持ssh协议的客户端均可以域openssh服务器进行通讯,微软上经过第三方软件进行,好比xshell,putty。
4.一、用户名密码登陆
4.1.一、ssh远程登录
ssh 用户名 @服务器 -p 指定端口
ssh tom@192.168.10.30 -p 1098
ssh远程登录配置、公私钥密码ssh体系构建
服务器不是有用户名密码呀tom 123 ,输入ssh tom@192.168.10.30就是至关于你坐在这台10.30服务器旁边同样,你拥有了10.30服务器的一切什么bash环境啥的
ssh远程登录配置、公私钥密码ssh体系构建shell

4.1.二、scp远程复制
ssh能够远程登录,可是你就是对方了,登录若是对目标服务器进行维护修改操做还行,但是我怎么把上面文件传输到我真实的电脑上呢,那就用到scp命令,格式须要注意,scp是在客户机本身身上敲的代码不是服务器
经过scp命令利用ssh的安全链接与远程主机相互复制文件,至关于登录其实,只不过能够远程登录服务器把上面文件复制到本身真实电脑上
你能够从服务器下载文件到客户机,也能够从客户机上传文件到服务器
下载格式:scp 用户名@目标服务器 :绝对路径服务器上文件 绝对路径本机文件(重命名)
scp root@192.168.10.30:/etc/passwd /root/pwd.txt
用root身份登录10.20这个服务器 去复制passwd文件到本身家目录下而且重命名为pwd.txt
ssh远程登录配置、公私钥密码ssh体系构建数据库

上传格式
scp -r /etc/passwd root@192.168.10.30: /opt
把本身本机文件passwd 以root身份登录到对方服务器而且复制到对方服务器opt目录下
ssh远程登录配置、公私钥密码ssh体系构建
ssh远程登录配置、公私钥密码ssh体系构建
4.1.三、sftp 安全 FTP
经过 sftp 命令能够利用 SSH 安全链接与远程主机上传、下载文件,采用了与 FTP 相似的登陆过程和交互式环境,便于目录资源管理,实现文件上传下载的便捷高效性
sftp root@192.168.10.30 //sftp登录10.30这个服务器
10.40根下有个kaka空文件 10.30根下有个lala空文件,10.30是远程链接主机,10.30是本地
ssh远程登录配置、公私钥密码ssh体系构建
put /kaka / 把本地根目录下kaka文件上传到远程主机根目录下
get /lala / 把远程主机根下lala文件下载到本机根目录下
5、构建密钥对验证的ssh体系
做用:每个用户公私钥匹配才能登录,远程登录中提供了比用户名密码更好的安全性,没法用穷举法暴力破解
注意:密钥对要以用户的身份生成,咱们验证的用户登录系统的匹配机制,非对称加密密钥对和对称加密的密码
步骤一:ssh客户端以zhangsan身份建立密钥对
步骤二:将zhangsang的公钥上传到服务器端
步骤三:将zhangsang的公钥给lisi的保管,这里须要理解一下,说白了就是一一对应法则,公私钥要以与用户为媒介,客户端有zhangsan这个用户,拿着本身的私钥,把公钥给了服务器上的信的过的lisi用户保管,当zhangsan拿着本身私钥要登陆系统时候,服务器上lisi拿着zhangsan的给的公钥对比一下,过了zhangsan就验证经过lisi登上服务器,你登陆服务器的权限是服务器给lisi的权限,不对就登不上去,公私钥匹配,怎么匹配,客户机和服务器上各自保管秘钥的用户拿着跑过来匹配,私钥配公钥,zhangsan配lisi。
步骤四:秘钥对验证登录安全

ssh远程登录配置、公私钥密码ssh体系构建
1.在客户端用zhangsan建立密钥对
在 Linux 客户端中,经过 ssh-keygen 工具为当前用户建立密钥对文件。可用的加密算法为 ECDSA 或 DSA(ssh-keygen 命令的“-t”选项用于指定算法类型)。例如,以 zhangsan用户登陆客户端,并生成基于 ECDSA 算法的 SSH 密钥对(公钥、私钥)文件,操做以下所示。
ssh远程登录配置、公私钥密码ssh体系构建bash

ssh远程登录配置、公私钥密码ssh体系构建
ssh远程登录配置、公私钥密码ssh体系构建
ssh远程登录配置、公私钥密码ssh体系构建
ssh远程登录配置、公私钥密码ssh体系构建
ssh远程登录配置、公私钥密码ssh体系构建
二、将公钥文件上传至服务器
将上一步生成的公钥文件上传至服务器,并部署到服务器端用户的公钥数据库中。上传公钥文件时能够选择 SCP、FTP、Samba、HTTP 甚至发送 E-mail 等任何方式。例如,能够经过 SCP 方式将文件上传至服务器的/tmp 目录下。
ssh远程登录配置、公私钥密码ssh体系构建
3.在服务器中导入公钥文本到lisi中
在服务器中,目标用户(指用来远程登陆的帐号 lisi)的公钥数据库位于~/.ssh 目录,默认的文件名是“authorized_keys”。若是目录不存在,须要手动建立。当得到客户端发送过来的公钥文件之后,能够经过重定向将公钥文本内容追加到目标用户的公钥数据库
ssh远程登录配置、公私钥密码ssh体系构建服务器

4.在客户端使用密钥对验证
当私钥文件(客户端)、公钥文件(服务器)均部署到位之后,就能够在客户端中进行测试了。首先确认客户端中当前的用户为 zhangsan,而后经过 ssh 命令以服务器端用户 lisi的身份进行远程登陆。若是密钥对验证方式配置成功,则在客户端将会要求输入私钥短语,以便调用私钥文件进行匹配(若未设置私钥短语,则直接登入目标服务器)
ssh远程登录配置、公私钥密码ssh体系构建
五、把公钥给写的权限,改公钥内容,看可否登陆上
ssh远程登录配置、公私钥密码ssh体系构建
ssh远程登录配置、公私钥密码ssh体系构建
咱们去服务器把密码登陆关了
ssh远程登录配置、公私钥密码ssh体系构建
ssh远程登录配置、公私钥密码ssh体系构建网络

ssh远程登录配置、公私钥密码ssh体系构建

相关文章
相关标签/搜索