SSH

摘要:
SSH连接原理及ssh-key讲解1.知识小结SSH是安全的加密协议,用于远程连接Linux服务器。如果在这里你输入了密码,那么进行SSH密钥对匹配连接的时候,就需要输入这个密码了。了解SSH协议原理ssh客户端包含ssh,scp,sftp命令ssh安全验证方式:口令和密钥,这两种都是基于口令的,SSH密钥登录的原理。ssh服务安全优化,修改默认端口22,禁止root远程连接,禁止dns,SSH只监听内网IPssh密钥对,公钥在服务器端,比如就是锁头,私钥在客户端。
SSH连接原理及ssh-key讲解

1.知识小结

  • SSH是安全的加密协议,用于远程连接Linux服务器。
  • SSH默认端口是22,安全协议版本SSH2,除了2之外还有SSH1(有漏洞)
  • SSH服务端主要包含两个服务功能SSH远程连接和SFTP服务。
  • Linux SSH 客户端包含ssh远程连接命令,以及远程拷贝scp命令等。

2输密模式

2.1双方安装这个软件包

image_1ck2a0merpf49np1s86fqcf7n9.png-6.2kB

image_1ck2a284p1buts1v1qv1hft10crm.png-2.1kB

2.2查看ssh命令

image_1ck2afbnhqneaue12is1rg2faq1g.png-8.2kB

2.3实验如下所示

2.3.1实验(一)

image_1ck2ao8vl1i505vb1kq1u601alu1t.png-27.4kB

2.3.2实验(二)

已知对方有普通用户yunjisuan

image_1ck2at292quj79q124l1f3t15tm2a.png-3.1kB

image_1ck2b1s19fnj12ip1mce1es04q72n.png-9.5kB

2.3.3退出对方账户

image_1ck2b4rtn58scbn1k7h1ep81mop34.png-7.1kB

3无密模式

3.1服务端创建密钥

image_1ck2bpk6m1bim1ds5q8r145r0h41.png-30.7kB

命令说明:

  • 创建密钥对时,要你输入的密码,为进行密钥对验证时输入的密码(和linux角色登录的密码完全没有关系);
  • 如果我们要进行的是SSH免密码连接,那么这里密码为空跳过即可。
  • 如果在这里你输入了密码,那么进行SSH密钥对匹配连接的时候,就需要输入这个密码了。(此密码为独立密码)
  • 用户家目录下的.ssh隐藏目录下会生成:id_rsa id_rsa.pub 两个文件。id_rsa是用户的私钥;id_rsa.pub则是公钥

3.2 将公钥id_rsa.pub文件复制到另外一台服务器(客户端)的用户家目录下的.ssh目录下。如果对方没有.sh这个目录,就自己创建一个,但切记要把目录权限改成700

image_1ck2c4up417f914he13pkbns11gr4e.png-45.6kB

3.3将公钥id_rsa.pub文件复制到另外一台服务器(客户端)的用户家目录下的.ssh目录下。

image_1ck429e8i16bc1pvk1krq1g59vpq9.png-6.5kB

3.4客户端检查

image_1ck2cgktporm11crb351lh7b658.png-2.5kB

3.5将拷贝过去的id_rsa.pub文件里的内容追加到~/.ssh/authorized_keys文件里(客户端)

image_1ck41t2181tig61g1i33ucu1sri5a.png-5.9kB

3.6由服务端访问服务端实验如下

image_1ck41r1krli41efo5lp1357pjf4t.png-8.5kB

3.7 SSH基于密钥的安全认证总结

  • 如果我们要进行免密码的SSH连接,那么在创建密钥对的时候不输入任何密码就可以了。
  • SSH基于密钥的安全认证的本质其实就是将密钥对中的公钥里的内容拷贝到对方服务器的用户家目录下的.ssh目录里的authorized_keys文件里。
  • 你想要和对方服务器的哪个用户进行密钥对认证,那么你就要把公钥拷到对方该用户的家目录下的.ssh目录里的authorized_keys文件里(如果是想和普通用户进行密钥对登录,需要拷贝到/home目录下的该用户家目录下。)
  • ssh-keygen -t参数可以指定密钥对的加密类型。如果不指定默认rsa加密

4.非交互式创建密钥对

4.1非交互式一条命令创建密钥对

image_1ck40rkiaacksnrmto1m5h1odm9.png-15.3kB

image_1ck42fc1t1n22elc1g7fk6lt88m.png-5kB

4.2查看服务端.ssh目录下文件

image_1ck40vfvq1prc10981ta8vn51bie1m.png-2.9kB

4.3通过ssh-copy-id进行公钥的自动分发

image_1ck411gevaur5bha4v1t1nipr23.png-13.9kB

4.4实验如下

image_1ck4158u051pljc1bvn112m14at3g.png-8.5kB

5.开始安装sshpass免交互工具并进行SSH-key的批量分发

5.1下载epel源并更新云yum仓库(参照云yum)并下载软件包sshpass

image_1ck44894v1gi4hpc1kiq4i014au13.png-2.1kB

image_1ck448t1d30js991m7g1ti01kcr1g.png-2.5kB

5.2免交互创建密钥对

image_1ck44cajm1o901mpg1kns4o3dqm1t.png-16kB

5.3免交户方式分发公钥

image_1ck44mfgo1ujp5i0l399tjbf2a.png-13.4kB

5.4检查推送结果

image_1ck44nt4ues13jisaq16oj1sqo2n.png-2.3kB

5.5实验如下

image_1ck44s3ot1nqd12uo1ald1ime1rf534.png-8.4kB

6.章节重点小结

  • ssh为加密的远程连接协议。相关软件有openssh,openssl
  • 默认端口22
  • 协议版本1.x和2.x,2.x更安全。了解SSH协议原理
  • ssh客户端包含ssh,scp,sftp命令
  • ssh安全验证方式:口令和密钥,这两种都是基于口令的,SSH密钥登录的原理。
  • ssh服务安全优化,修改默认端口22,禁止root远程连接,禁止dns,SSH只监听内网IP
  • ssh密钥对,公钥在服务器端,比如就是锁头,私钥在客户端。

免责声明:文章转载自《SSH》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇spring security 核心切面习题解答chapter02下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Gitlab项目用ssh克隆

Gitlab项目用ssh克隆 1、 新建一个文件夹并用git bash here 打开 2、 在git bash here 输入命令行 ssh-keygen –t rsa –C“邮箱名” 3、 4、 出来提示.ssh在哪里的路径,回车两次 5、 在显示的路径中找到.ssh ,在.ssh中找到id_rsa.pub 6、 复制里面所有代码,到gitlab中se...

Xshell配置SSH秘钥登录

秘钥生成 生成公钥 工具 -> 新建用户秘钥生成向导 -> 下一步 -> 点击下一步,输入密码: 点击下一步 点击保存为文件,完成。 生成私钥 工具 -> 用户秘钥管理者 选中秘钥类型 -> 导出 保存,输入之前设置的秘钥保护密码,生成私钥 至此,生成了一对 公钥-私钥 对。 在服务器上添加公钥权限 上传公钥到...

Linux之sshkey密钥认证实战

  在实际的生产环境中,经常会用到sshkey密钥认证实行数据分发数据等操作,还可以批量操作内网服务器,实行免密认证进行推送分发数据。 1、环境查看 分发服务器   节点服务器 2、服务器添加系统账号 3、生成密钥对 [root@localhost1 ~]# su - fenfa [fenfa@localhost1 ~]$ whoami fe...

sshd服务启动失败问题

 查看/etc/ssh/ssh_host_ed25519_key权限是755,其他用户也有访问权限,修改该文件权限为600后,重启sshd服务成功 启动后,发现/etc/ssh/ssh_host_rsa_key和/etc/ssh/ssh_host_ecdsa_key文件也是755权限,也需要修改为600权限 # systemctl status ssh...

Mac本地生成SSH Key 的方法

1. 查看秘钥是否存在 打开终端查看是否已经存在SSH密钥:cd ~/.ssh 如果没有密钥则不会有此文件夹,有则备份删除,   也可以直接删除,   2.生成新的秘钥, 命令如下 ssh-keygen -t rsa -C "youremail@example.com" 你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,因为这个Key仅仅...

SSH远程管理

目录 SSH远程管理 ssh功能 SSH相关命令 Xshell连接不上虚拟机 scp命令 SSH验证方式 优化 免交互expect[扩展] 免交互sshpass[扩展] 简易跳板机小结 SSH远程管理 ssh功能 SSH是一个安全协议,在进行数据传输时,会对数据包进行加密处理,加密后在进行数据传输。确保了数据传输安全。那SSH服务主要功能有...