前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ssh服务

ssh服务

作者头像
若与
发布2018-07-04 14:48:05
6790
发布2018-07-04 14:48:05
举报

telnet

远程登录 协议,23/tcp C/S S:telnet服务器 C:Telnet客户端 明文传送

ssh

Secure Shell,应用层协议 22/tcp 通信过程和认证过程都是加密的。主机认证 主机密钥 非对称加密 secrect key public key 第一次 ssh 传送公钥 yes/no 数据用对称加密 客户端建立连接后,生成对称密钥(服务器公钥加密后传送过去)--》传送给服务器。 后面用对称密钥加密,可以提高加解密的速度。 不允许root用户直接登录,一般是su在切换。 不定期更改密码。

  1. 通信过程及认证过程是加密的,主机认证
  2. 用户认证过程加密
  3. 数据传输过程加密

ssh V1 V2

V1 :man-in-middle中间人攻击 sshv2

认证过程:

用户认证过程加密(用户与主机的密钥) 客户端:生成密钥s/p ----> p(放在用户的家目录) 数据--s--P -->s--p--->服务器 (对称加密) 1.基于口令认证 2.基于密钥的认证

协议:规范 实现:服务器端,客户端

代码语言:javascript
复制
linux:openSSH
  C/S 
    服务器:sshd,配置文件/etc/ssh/sshd_config
    客户端:ssh,配置文件/etc/ssh/ssh_config
    ssh-keygen:密钥生成器
     ssh-keygen - authentication key generation, management and conversion
    ssh-copy-id:将公钥传输至远程服务器。
           ssh-copy-id - install your public key in a remote machine’s authorized_keys
           ssh-copy-id [-i [identity_file]] [user@]machine
scp:跨主机安全复制工具。
客户端:
代码语言:javascript
复制
       ssh  ip(和当前主机一样的用户)
       ssh -l useranme host
       yes  (主机认证)
       password:主机密码
   ssh hadoop@ip(远程主机用户)
   .ssh/known_host
   
ssh username@host 'command'
ssh youdi@172.16.0.30  'ls -a'
要输入密码:

scp:

代码语言:javascript
复制
   scp src dest 
    -R
     -a
   源,目的都可以是远程主机
scp username@host:/path/to/somefile /path/to/local

ssh-keygen:

代码语言:javascript
复制
  ssh-kengen -t rsa 
       ~/.ssh/id_rsa
       ~/.ssh/id_rsa.pub
公钥复制(追加到)到远程主机某用户家目录下的:.ssh/authorized_keys文件或.ssh/authorized_keys2文件中
.ssh 目录权限必须是700
ssh-copy-id
 ssh-copy-id [-i [identity_file]] [user@]machine
ssh-copy-id -i id_rsa.pub root@172.16.20.6
单项信任关系
ssh-keygen -t rsa
ssh-copy-id  -i filename username@host
scp  authorized_keys
ssh-kengen -t rsa -f .ssh/id_rsa -P ''
-f /path/to/key_file 
-P  指定加密私钥的密码


netstat 

dropbear

嵌入式系统专用的ssh服务器端和客户端工具。 服务器:dropbear dropbearkey 客户端:dbclient

dropbear默认使用nsswitch实现名称解析:

代码语言:javascript
复制
/etc/nsswitch
/lib/libnss_files*
/usr/lib/libnss3.so
/usr/lib/libnss_files*


dropbear会在用户登录检查其默认的shell是否为当前系统的安全shell
  /etc/shells
tty
  tty - print the file name of the terminal connected to standard input
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.06.28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • telnet
  • ssh
  • ssh V1 V2
    • 认证过程:
      • 客户端:
      • scp:
      • ssh-keygen:
      • dropbear
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档