ssh原理及命令

一、SSH分客户端openssh-client和openssh-server

  • 若只想登录其他的机器,则安装openssh-client
  • 若想本机开放ssh,供别人登录,则安装openssh-server

二、查看ssh是否开启

指令:ps -ef | grep sshd
1575620356(1)
其中/usr/sbin/sshd为ssh clinet/server中server端的守护进程,如果上述结果中没有sshd出现,那么可能就是你的server端程序没有安装

三、启动与关闭

/etc/init.d/ssh start
/etc/init.d/ssh stop

四、配置

/etc/ssh/sshd_config 在这里可以配置端口号,默认为22

五、生成密钥(密码和钥匙)

ssh-keygen -t rsa -P ‘’
-t:密钥类型(rsa、dsa、ecdsa等)
-P:指定passphrase,确保私钥安全
1575621494(1)
在生成公钥时还生成了fingerprint
查看/root/.ssh/目录:
1575623995(1)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IRfIuLTL-1582378904409)(https://user-images.githubusercontent.com/56629574/70311481-b7e46080-184c-11ea-8126-3614e2419ead.png)]

六、第一次登录服务器(基于口令的认证)

1575622162(1)
上面的信息说的是:无法确认主机ssh-server.example.com(12.18.429.21)的真实性,不过知道它的公钥指纹(fingerprint),是否继续连接?
之所以用fingerprint代替key,主要是key过于长(RSA算法生成的公钥有1024位),很难直接比较。所以,对公钥进行hash生成一个128位的指纹,这样就方便比较了。
若输入yes:
1575622340(1)
则将追加到known_host文件中,此后的流程如下图:
在这里插入图片描述

  1. 远程Server收到Client端用户TopGun的登录请求,Server把自己的公钥发给用户。
  2. Client使用这个公钥,将密码进行加密。
  3. Client将加密的密码发送给Server端。
  4. 远程Server用自己的私钥,解密登录密码,然后验证其合法性。
  5. 若验证结果,给Client相应的响应。
    私钥是Server端独有,这就保证了Client的登录信息即使在网络传输过程中被窃据,也没有私钥进行解密,保证了数据的安全性,这充分利用了非对称加密的特性。

七、基于公钥的认证

在上面介绍的登录流程中可以发现,每次登录都需要输入密码,很麻烦。SSH提供了另外一种可以免去输入密码过程的登录方式:公钥登录。流程如下:
在这里插入图片描述

  1. Client将自己的公钥存放在Server上,追加在文件authorized_keys中。
  2. Server端接收到Client的连接请求后,会在authorized_keys中匹配到Client的公钥pubKey,并生成随机数R,用Client的公钥对该随机数进行加密得到pubKey®,然后将加密后信息发送给Client。
  3. Client端通过私钥进行解密得到随机数R,然后对随机数R和本次会话的SessionKey利用MD5生成摘要Digest1,发送给Server端。
  4. Server端会也会对R和SessionKey利用同样摘要算法生成Digest2。
  5. Server端会最后比较Digest1和Digest2是否相同,完成认证过程。
    在服务端填写客户端公钥:cat ~/.ssh/id_rsa.pub(客户端) >> ~/.ssh/authorized_keys(服务端)
    转载:https://www.jianshu.com/p/33461b619d53
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值