ssh的原理及使用

和Linux打交道,免不了用到ssh的相关知识。花大时间写这篇诸公可在分分钟透彻了解ssh原理和使用。不谢


一般远程登录都用ssh了,telnet什么的传输的是明文因为,ssh基于公钥私钥加密,而且还带压缩的。

OK,这里说道公钥私钥的问题,顺便再普及下:

首先知道一点:公钥加密的用私钥来解密,私钥加密的用公钥解密。

公钥:顾名思义是公开给别人的,A公开给B,B就能通过A的公钥来解密A的报文

密钥:自己留着。作用是认证。鉴别用户真伪。解释下:如何知道这是A的报文,因为只有A知道他自己的私钥然后用私钥加密数据,所以B如果解开了报文,就能肯定这报文就是A的不是别个伪装的,不然也解不开


SSH最简单的使用方法就是直接打命令 “ ssh 用户名@主机地址 ”  主机地址一般就是IP地址啦,用户名自然是主机上的用户,避免不入门的同学上来把本机的用户名替换上去了。当然这种方法方便,只是需要每次输入密码。


一般是通过公钥登录,现在几乎所有用ssh远程连接的软件,比如XShell,SecureCRT都是用这种,第一次连接的时候就把自己的公钥上传到远程主机。这里我们不用这些软件,自己打命令来看下这过程。反正都不复杂,而且现在的Linux都是默认装了ssh服务的

首先生成公钥,命令 ssh-keygen,如果想带参数的话一般有这么几个 ,-t 指定加密类型(rsa 或者dsa)-f 密钥         生成的位置 -b 密钥长度,越长越安全。不过加密解密也会慢些,一般没人设置这玩意。总之咱一般用直接打不带参数的就中啊。后面有机会让你填公钥文件生成的路径什么的。


  

了吧,就是如此。那个passphrase什么的我也说不清,就直接回车让他为空就好。这里说下那个fingerprint,人称“指纹”就是这样。这玩意是根据私钥文件生成的一串码,作用是啥呢。就是SSH有个缺陷叫做中间人攻击,上图做解释吧。这个指纹就是让你第一次连的时候知道你连的是谁,你以为你登陆那台主机然后把登陆密码发过去了结果人不是那台主机。就这么回事。到此,公钥密钥就都有了,路径在哪看上图。


OK,下一步,把这个公钥给远程主机。命令 ssh-copy-id user@host ,然后提示你输密码。成功了之后你再用命令 " ssh user@host " ,就可以直接登入而不用输入密码了。如果执行这条出现什么” No identities found “的错误,就加上-i 参数,”-i 公钥文件路径“  。远程主机把公钥存在主目录下 .ssh文件夹下的anthorized_keys文件中。

最后很有用的scp命令,基于ssh,上步可以通过scp实现同样功能。 如 scp user@host:~/.ssh/i_dsa.pub ~/.ssh 就可以实现把远程主机的内容拷贝到本地,然后把pub导入到authorized_keys文件中,命令:cat 文件 >> authorized_keys,也可以从本地传到远程。


总算写完了, 太累了,上面步骤经我亲测。希望读者有收获。2015,着手写技术博客。元旦快乐。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值