首页 > 代码库 > ssh

ssh

安全的shell

主机认证,通信和认证过程加密

  1. 客户端接收服务器端的公钥

  2. 客户端生成对称加密密钥,用服务器的公钥加密后,发给服务器端,完成密钥交换

  3. 客户端用对称加密密钥加密账户,发给服务器端。发起登录认证。

  4. 客户端用对称密钥加密口令,发给服务器端,完成登录认证。


linux :openssh

服务端:sshd /etc/ssh/sshd.config

客户端:ssh /etc/ssh/ssh.config

ssh-keygen:密钥生成器

ssh-copy-id:将公钥传输给远程服务器

scp:两台主机间复制数据


ssh客户端远程登录服务器时,如果没有指定帐号,默认使用当前shell登录帐号。

ssh  username@host

ssh不登录远程主机,仅在远程主机上执行命令。

ssh username@host ‘command‘


scp SRC DESI

如果源是远程主机则 scp username@host:/path/to/file   /localpath/


密钥认证

ssh-keygen

   -f /path/to/fielname:指定密钥文件

   -P ‘‘:加密私钥的密码

   -t rsa

   ~/id_rsa   私钥

   ~/id_rsa_pub 公钥

追加保存公钥到远程主机对应用户家目录下的.ssh/authorized_keys(.ssh/authorized_keys2)文件中


ssh-copy-id

   -i  指定公钥文件

   ssh-copy-id -i .ssh/id_rsa_pub  root@x,x,x,x  //自动追加保存至对应目录文件中

   


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

服务器端:dropbear

客户端:dbclient

密钥生成工具dropbearkey

默认使用nsswitch名称解析

主机密钥默认保存位置

     /etc/dropbear

     RSA dropbear_rsa_host_key 变长,最大2048,8的倍数 

     DSS dropbear_dss_host_key 固定长度1024

ssh