★ ssh服务的最佳实践: ★
1 不要使用默认端口
2 禁止使用协议版本1
3 限制可登陆多用户,最好做一个白名单
4 设定空闲会话超时时长 (用户连上去无操作多长时间自动端看连接)
5 利用防火墙设置ssh的访问策略,例如仅允许哪些主机访问连接
6 仅监听特定的ip地址 (如果有多个ip,还是内外网,还有***,那就仅开通内网远程登录,通过远程***,再登录服务器)
7 基于口令认证时,要采用强密码策略 (不低于8位,常换,不用弱口令,各类字符都有)
8 使用基于秘钥的认证
9 禁止使用空口令
10 禁止管理员直接登录
11 限制ssh的访问频度(密码错了几次就断开)和并发在线数
12 做好日志分析,使用awk等做好统计/var/log/secure
ssh protocol ssh协议的版本:
v1:不安全(有些老的程序只支持第一版,所以有时还是要开启)
v2:
Openssh:
sshd :配置文件 /etc/ssh/sshd_config
ssh: 配置文件 /etc/ssh/ssh_config
客户端程序ssh:
ssh [option] [user@]host [COMMAND]
ssh -l user [option] host [COMMAND]
常用选项:
-l user 指定的用户登录远程主机
-p port 指明远程服务器的端口;为了服务器安全是要修改ssh的端口,
-b bind_ip 把服务绑定在某个ip上面,多ip时可以使用这个选项
-X : 支持x11转发
-Y : 支持信任的X11转发
X:协议,x-windows图形化窗口,也是C/S架构图形为C,主机为S
X11转发的作用:在本地显示远程主机上面的图形窗口,首先本地为X图形界面,或者提供了x server,并不需要远程主机上面有图形界面功能
-o 后面根特定的选项 -o StrictHostKeyChecking=no不做严格的主机登录检查,不输入yes
-t 强制伪tty分配,你想连接的sshd服务器不能一次性到达,需要中间先登录一个sshd服务器,通过跳板机到达
~】# ssh -t remoteserver1 ssh remoteserver2
先连接远程主机1,通过远程主机分配伪终端,跳转到远程主机2
当然在此过程中你要先后输入两次密码了,(你懂得)
省略command则表示为登录这台主机;如果使用命令,则表示临时切换主机执行完指定命令后退出远程的主机
~】# ssh 172.16.1.1 (使用本地登录用户名作为远程登录用户名,并不是root就是默认用户)
~】# ssh [email protected]
~】# ssh -p 20000 172.16.1.5
~】# ssh 172.16.1.1 “shutdown -h now” (关机你就连接不上了^_^)
~】# ssh -o StrictHostKeyChecking=no 172.16.1.4 第一次远程登录时跳过yes确认远程登录对象
[root@zou xinetd.d]# ifconfig eth0 | grep "inet addr:" inet addr:172.16.1.2 Bcast:172.16.255.255 Mask:255.255.0.0 [root@zou xinetd.d]# ssh 172.16.1.1 [email protected]'s password: Last login: Wed Jun 29 23:20:39 2016 from 172.16.250.146 [root@yuan ~]# ip addr show eno16777736 | grep "inet\b" inet 172.16.1.1/16 brd 172.16.255.255 scope global eno16777736 [root@yuan ~]# exit 登出 Connection to 172.16.1.1 closed. [root@zou xinetd.d]# ssh 172.16.1.1 "ip addr show eno16777736 | grep 'inet\b' " [email protected]'s password: inet 172.16.1.1/16 brd 172.16.255.255 scope global eno16777736 |
接收的所有认可的服务器列表:~/.ssh/known_hosts 一个一行
ssh的配置文档/etc/ssh/ssh_config 修改文件则以后会成为默认
OPTION1 VALUE
#开头的是默认的
vim /etc/ssh/ssh_config
StrictHostKeyChecking no 以后登录远程主机不在第一次输入yes,采用非严格的远程登录
ssh主机认证:需要用到主机认证秘钥,此秘钥由服务器端维护和提供
ssh支持的用户认证:
基于口令的认证:用户输入账号和密码
基于秘钥的认证:用户提供一对密钥,私钥保留在客户端,公钥保存在远程服务器端
ssh基于秘钥的认证
ssh-keygen [-q] [-b bits] -t type [-f output_keyfile]
-q |
静默模式 |
-b |
秘钥位数,512,1024,2048,4096,默认2048 |
-t |
指明秘钥格式rsa,dsa,ecdsa椭圆曲线算法,最好使用rsa或者ecdsa |
-f |
保存到哪个文件当中 默认在~/.ssh目录下 |
-P |
指明对私钥加密的密码 |
-v |
调试模式 |
-C | 压缩方式 |
-X | 只是X11转发 |
-Y | 只是信任X11转发 |
~】# ssh-keygen -t ecdsa 会在~/.ssh目录下生成id_ecdsa私钥和id_ecdsa.pub一对
~】# ssh-keygen -t rsa -P '' 指明私钥密码为空密码,则会跳过让你指定私钥密码环节
注:每个用户的一对私钥和公钥是可以重复使用的,不用每次都执行一次创建一对秘钥,不然会覆盖原有的私钥和公钥,尤其是你已经开始使用了,如果还想链接更多台的服务器,直接使用已存在的公钥传输给其他用户
[root@localhost ~]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): 这个位置是输入私钥的加密密码(以后你安装的时候 Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: aa:a1:93:52:ca:12:82:64:13:7c:c9:0c:df:b5:f3:50 [email protected] The key's randomart p_w_picpath is: +--[ RSA 2048]----+ |..+ . . E | +-----------------+ |
在本地主机,将公钥复制到要登录的远程主机的某用户的家目录下的~/.ssh/authorized_keys 文件中(有特定命令)
ssh-copy-id [-i [identity_file]] [user@]machine
~】# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
~】# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
[root@localhost ~]# ssh-copy-id -i .ssh/id_rsa.pub [email protected] /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys [email protected]'s password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh '[email protected]'" and check to make sure that only the key(s) you wanted were added.
[root@localhost ~]# ssh 172.16.1.2 这个时候是不需输入远程用户密码 Enter passphrase for key '/root/.ssh/id_rsa': 如果每有给私钥文件加密,那么直接可以登录成功 Last login: Tue Jun 28 12:15:15 2016 from 172.16.250.146 |
之后在远程服务器上会在相应用户家目录下面的.ssh目录里面有一个authorized_keys文件
aushorized_keys文件可以存放一到多个远程公钥登录的公钥,一行一个(每行都很长所以在你看来占据了很多行),所以不要随便删除这个文件
[root@zou .ssh]# cat authorized_keys ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCpAJFy7QTadK0ghnq63+BZ7Qzm5FLZ4XeVyb1kNwis6GkfyltnX2fzaeR5nLTM6uWHacfahin6Khy9nPX02jDFNMBYGUHg6NXHQLdGihYxv20j1zv4aZRlIPicuqktDM+c2Nda6Yzufun52gQvEzr9HELKMMIkEn6rs4GrY6TO2rG3mV5e8TM++MoV8i+8VZOfKK+I5buEHvBaz+oaQ7Y++WOcuOHir8Nn/wOoOZYrHAa7+qtPKYtEmUmT1eHqnJzdt2lpB0HZNIUuRikSVCCdI6QLmLb7E5xyuZmNB8F6owyenrGmyaerB2whKqoUMHjxCQt8ipr/yOfd/wK5BJV [email protected] 这是在远程服务器上的 一个本地登录的登录公钥,因为我这只设置了一个,所以只有这一个,一个,看起来很多行 |
----------------------
*********************
----------------------
SSH端口转发
v什么是SSH端口转发?
SSH 会自动加密和解密所有SSH 客户端与服务端之间的网络数据。但是,SSH 还能够将其他TCP 端口的网络数据通过SSH 链接来转发,并且自动提供了相应的加密及解密服务。这一过程也被叫做“隧道”(tunneling),这是因为SSH 为其他TCP 链接提供了一个安全的通道来进行传输而得名。例如,Telnet,SMTP,LDAP 这些TCP 应用均能够从中得益,避免了用户名,密码以及隐私信息的明文传输。而与此同时,如果工作环境中的防火墙限制了一些网络端口的使用,但是允许SSH 的连接,也能够通过将TCP 端口转发来使用SSH 进行通讯
vSSH 端口转发能够提供两大功能:
加密SSH Client 端至SSH Server 端之间的通讯数据
突破防火墙的限制完成一些之前无法建立的TCP 连接。
v本地转发:
格式:-L localport:host:hostportsshserver
~】# ssh –L 9527:server1:23 -fN server2
本地端口:远程主机:远程主机端口 -N 后制定跳板机
~】#telnet 127.0.0.1 9527
当访问本机的9527的端口时,被加密后转发到server2的ssh服务,再解密被转发到server1:23
dataàlocalhost:9527 àlocalhost:XXXXXàserver2:22àserver2:YYYYY àserver1:23
这里server2为跳板机
v选项:
-f 后台启用
-N 不开远程shell,一般是与-f搭配使用的
-g 启用网关功能
上图的步骤操作完成之后,会在后台打开这个隧道,当我们使用服务的时候就可以使用了:
~】# telnet 127.0.0.1 9527 在本地虽然是连接本地的端口,但是刚才我们已经开启了端口转发,有数据在这个端口走,就会通过ssh刚建立的隧道,传输到跳板机,跳板机再去帮你×××
这样一个明文的telnet被封装到ssh协议里面,变得安全起来
v远程转发:
格式:-R sshserverport:host:hostportsshserver
~】# ssh–R 4000:server1:23 –N server2
让跳板机远程连接8023端口,家庭本地主机侦听8023端口的访问,如有访问,就加密后转发请求到家庭本机sshd服务,再由跳板机解密后转发到serve1:23
Dataàlocalhost:8023àlocalhos:22àserver2:XXXàserver2:YYYàserver1:23
localhost 为家庭本地主机,server2为跳板机
注:远程主机和本机主机两种端口转发虽然最后达到的效果一样,但是贼在数据流向和端口之间的切换有很大不同
SSH动态端口转发:
v需要配置动态端口的情况
当用firefox访问internet时,本机的1080端口做为代理服务器,firefox的访问请求被转发到sshserver上,由sshserver替之访问internet
在本机firefox设置代理proxy:127.0.0.1:1080
格式: ~】# ssh -D 1080 root@sshserver
scp命令: 与cp命令相似 基于ssh连接完成复制,跨主机加密以后完成数据传输
文件:
远程为目录,则复制到目录中,创建同名文件
远程为目录,且文件存在,覆盖
远程为文件,则覆盖
目录: 复制目录必须使用-r选项
远程为目录,则复制到这个目录当中,新建一个同名目录
远程为文件,不被允许
远程为非存在目录,则复制过去,之后重命名
存在两种情形:
PULL : scp [options] [user@]host:/path/to/somefile /path/to/somefile
源文件是远程的,目标文件是本地的,用远程主机上拽文件过来,要求指定用户对远程主机文件有读权限
PUSH: scp [options] /path/to/somefile [user@]host:/path/to/somefile
源文件是本地的,目标文件是远程的,把文件推送动远程主机,要求指定用户对远程主机文件有写权限
rsync 命令 (因为cp只能是每次都要拷贝一次,在增量备份当中显得低效)
rsync就是通过ssh协议封装了sync,基于ssh和rsh服务实现高效率的远程系统之间复制文件
使用安全的shll连接作为传输方式,比scp更快,只复制不同的文件
~】# rsync -av /etc server1:/tmp 复制目录和目录下文件
~】# rsync -av /etc/ server1:/tmp 只复制目录下的文件 ,所以看好了后面有没有/
~】# rsync -avz --delete /etc server1:/tmp 当/etc下面文件发生增删查改,再执行这条命令,远程同步主机的/tmp目录也会发生变化,结合crond可以实现数据同步
-n |
模拟复制过程 | -v |
显示详细过程 |
-r | 递归复制目录树 | -p |
保留权限 |
-t |
保留时间戳 |
-g | 保留组信息 |
-o | 保留所有者信息 |
-l |
把符号链接文件做为符号文件进行复制 |
-L | 将软链接文件指向文件复制 | -a |
存档模式,相当于–rlptgoD,但不保留ACL(-A)和SELinux属性(-X),同步所有 |
z | 压缩 |
sftp命令: (openssh 自带的一个组件)
ftp: file transfer protocol 明文传输
安全的文件传输机制:
ftps: ftp over ssl
sftp: ftp over ssh
sftp: C/S架构
S:由sshd服务进程管理,是sshd的一个子系统,在centos系统上的openssh上为默认启动状态,所以默认不用配置
C:即sftp
连接至远程主机:
~】# ftp user@host
ftp> help
ftp> get file_name /tmp 后者的/tmp是本地的目录,意为下载某文件到本地/tmp目录
ftp> !COMMAND 加上!表示命令作用于本地主机,而不是远程主机
[root@zou mnt]# sftp [email protected]:/boot Connecting to 172.16.1.1... [email protected]'s password: 在这里需要输入密码,如果做过ssh公钥认证,则直接跳过此步骤 Changing to: /boot sftp> ls ......省略 grub grub2 sftp> cd / 可以任意切换远程主机上面的任意位置,只要你远程登录的用户有足够的权限 sftp> ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var |
sshd (服务器端)
配置目录/etc/ssh目录
ssh_host_key ssh_host_key.pub
ssh_host_dsa_key ssh_host_dsa_key.pub
ssh_host_rsa_key ssh_host_rsa_key.pub
这6个密钥文件是用于实现主机认证
配置文件: /etc/ssh/sshd_config 操作前请备份
#空格开头的为纯注释
格式: 配置指令 值
port |
端口,默认位22 |
AddressFamily |
地址家族,监听ipv4或者ipv6 |
SyslogFacility | 系统日志 |
LoginGraceTime |
用户登录的等待时期,最多2分钟,2分钟不登录,自动断开连接 |
MaxAuthTries |
输入密码错误最多几次,默认6,但6要除以2,也就是3次,2还是2,1就是1,4还是2降低辞职避免暴力破解 |
ListenAddress | 指定监听的ip,默认为0.0.0.0,监听所有主机 |
Protocol |
定义协议版本,默认为2(1.2版本) |
LogLevel |
日志级别 |
PermitRootLogin |
是否允许root用户直接远程登录;可以给关闭,之后用普通用户远程登录,之后su进来,之后使用root用户 |
MaxSessions | 最大会话数量,默认10,最多可以有10个终端同时远程登录 |
RSAAuthentication | 默认为yes ,是否支持rsa的认证机制,指的基于公钥的用户认证,默认支持 |
PubkeyAuthentication | 默认为yes,支持基于公钥的认证,它和上面的指令需要同时打开,才能生效 |
AuthorizedKeysFile |
基于远程基于公钥认证的公钥存放的文件路径,默认~/.ssh/authorized_keys |
RhostsRSAAuthentication | 默认为no,与远程主机连接必须做RSA认证,一般我们远程连接主机,如果以前从没有通信过,远程主机会先发送一个它的一个密钥(它的公钥)给主机,我们需要通过yes后同意接受。如果把值改为yes,如果本地主机事先没有这个密钥,就无法建立连接,因此非常安全。我们可以先建立连接,等本地known_hosts文件记录了远程主机的公钥之后,我们再打开这项功能。也可以把这个公钥放到加密狗上面随身携带,这项功能安全,但是也意为这麻烦,秘钥没了你就要去机房了 |
PasswordAuthentication |
默认为yes,是否允许基于口令远程登录,如果开启基于密钥认证,则建议关闭 |
UsePAM |
默认为yes,基于PAM模块认证,系统认证功能必然会用到的机制 |
AcceptEnv |
默认为yes,基于PAM模块认证,系统认证功能必然会用到的机制 |
X11Forwarding | 默认yes,是否允许X11协议做转发 |
PrintMotd | 默认为yes,是否在用户登录时打印Motd信息, 对应/etc/motd文件 |
PrintLastLog |
默认为yes,是否显示用户上一次在几点几分通过什么终端登录,这样会泄露你的登录信息,建议关闭,反正你也知道你上次大概什么时候登录的,让别人看到反而不好 |
UseDNS |
默认为yes,是不是每次登录的时候,都基于DNS反解对方的地址到主机名,建议改为no,因为有的时候因为网络问题,你可能会卡在远程登录那一会才能登进系统 |
Subsystem | 子系统,运用程序为/usr/libexec/openssh/sftp-server |
StrictModes |
是否检查家目录相关文件权限是否正确,ssh远程时使用的文件 |
GatewayPort | 支持端口转发 |
ClientAliveInterval | 0永远不动,用户连接上,多长时间不动断开连接 |
ClientAliveCountMax |
会话最大连接数 |
PermitTunnel |
允许隧道,涉及到端口准发,可以开启这个选项,如果你要设置的话 |
Banner |
指定自定义/etc/ssh.txt文件,之后用户ssh远程登录的时候会打印文件里面的内容 |
以上是配置文件中常用的,还有写没有写在配置文件中的可以man 文件手册
~】# man sshd_config 查看服务配置文档的帮助文档
~】# man ssh_config
~】# man sshd 查看sshd怎么使用
修改完配置文档,要想生效,需要reload一下
~】# service sshd reload
6版本上: 服务脚本 --> /etc/rc.d/init.d/sshd
7版本上:Systemd Unit File ---> /usr/lib/systemd/system/sshd.service
~】# systemctl reload sshd
限制可远程登录的用户
~】# vim /etc/ssh/sshd_config
写入
AllowUsers user1 user2 user3 空格隔开
Allowgroups group1
这是白名单
DenyUsers user1 user2
DenyGroups group1
这是黑名单
黑名单和白名单只能使用一个,如果同时使用那就拒绝大于允许
补充: 如果修改了sshd的端口,同时你开启了防火墙和selinux的话,首先要调整防火墙策略,改个端口,删了以前那条就行
对于selinux:
~ 】# tail /var/log/messages 查看selinux的日志
~ 】# sealert -l 15d342-54ef-8982dfc6e0 这是根据日志提醒操作的
~ 】# semanage port -a -t ssh_port_t -p tcp 20000 这是其上命令建议的操作
~ 】# semange port -l | grep ssh 查看是否添加端口成功
ssh 协议的另一个实现:dropbear
轻量化实现,多用户嵌入式方案当中,使用机制和openssh大致相同 (在无线路由器上就是这样允许远程登录的)
~】# yum install dropbear -y (epel源里面有)
配置目录:/etc/dropbear
服务端程序:/usr/sbin/dropbear
客户端程序:/usr/bin/dbclient
为dropbear生成主机秘钥:/usr/bin/dropbearkey
~】# dropbearkey -t rsa -s 2048 -f /etc/dropbear/dropbear_rsa_host_key
~】# dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key (因为dss只支持1024位,所以不用指定)
~】# dropbearkey -t ecdsa -s 521 -f /etc/dropbear/dropbear_ecdsa_host_key (椭圆曲线,最长支持521位)
~】# dropbear -p 20000 -E -F
-E 为把标准输出从执行日志改为错误输出,这样信息就会显示在终端上
-F 前台运行,测试的时候使用这两项,平时打开,不用
-p 指定开启服务使用的端口,默认是22,但是这个和ssh冲突,测试需要修改,或者停sshd
另一台主机登录测试:
~】# ssh -p 20000 172.16.1.1
~】# dbclient-p 20000 172.16.1.1
如果测试都没有问题,可以开启服务了systectl命令开启此服务,但是因为不想使用默认端口22,我们需要
~】# cat /usr/lib/systemd/system/dropbear.service
EnvironmentFile=-/etc/sysconfig/dropbear
ExecStart=/usr/sbin/dropbear -E -F $OPTIONS
这两行的意思就是开启的时候,会调用/etc/sysconfig/dropbear文件里面的OPTIONS参数
~】# vim /etc/sysconfig/dropbear 文件为空
写入
OPTIONS=“-p 20000”
~】# systectl start dropber.service
~】# ss -tnl 显示20000端口是否监听
这里演示一下我们测试dropbear能够服务可以使用
首先我们要在服务端先建立好钥匙
[root@yuan xinetd.d]# dropbearkey -t rsa -s 2048 -f /etc/dropbear/dropbear_rsa_host_key Generating key, this may take a while... Public key portion is: ssh-rsa ....中间秘钥省略..... [email protected] Fingerprint: md5 90:6e:5e:ef:d0:1b:02:cb:4b:f5:18:3e:8b:6d:57:26 |
在这个时候我们就可以开启服务,远程登录可以通过rsa加密算法,但是为了更好的支持远程登录可以开启更多登录;
这个时候开启服务的话是可以用的,但是会报错,所另外两个算法的文件没有找见,但是远程登录是可以成功的
[root@yuan xinetd.d]# dropbear -p 20000 -E -F [4518] Jun 30 10:47:36 Failed loading /etc/dropbear/dropbear_dss_host_key [4518] Jun 30 10:47:36 Failed loading /etc/dropbear/dropbear_ecdsa_host_key [4518] Jun 30 10:47:36 Not backgrounding |
当然为了安全我们只是用一个远程登录的方式也是可以的
所以下面的步骤是可以省略的
[root@yuan xinetd.d]# dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key Generating key, this may take a while... Public key portion is: ssh-dss AAAAB3NzaC1kc3MAAACBANr0SlgJdM6AxlJ/ Fingerprint: md5 30:69:94:3d:e6:14:2d:86:9e:9b:ec:a0:93:36:f2:37 [root@yuan xinetd.d]# dropbearkey -t ecdsa -s 521 -f /etc/dropbear/dropbear_ecdsa_host_key |
不管是开启一个加密算法,还是3个都开启,我们这个时候可以开启dropbear服务了,当然建议暂时关闭防火墙
[root@yuan xinetd.d]# dropbear -p 20000 -E -F [4523] Jun 30 10:49:45 Not backgrounding |
在本地客户端试图连接远程服务
[root@zou ssh]# ssh -p 20000 172.16.1.1 The authenticity of host '[172.16.1.1]:20000 ([172.16.1.1]:20000)' can't be established. RSA key fingerprint is 90:6e:5e:ef:d0:1b:02:cb:4b:f5:18:3e:8b:6d:57:26. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '[172.16.1.1]:20000' (RSA) to the list of known hosts. [email protected]'s password: |
或者通过dbclint连接
[root@zou ssh]# dbclient -p 20000 172.16.1.1 Host '172.16.1.1' is not in the trusted hosts file. (ssh-rsa fingerprint md5 90:6e:5e:ef:d0:1b:02:cb:4b:f5:18:3e:8b:6d:57:26) Do you want to continue connecting? (y/n) y [email protected]'s password: |
我们可以查看ip,是否已经远程登录成功,我这里本地为6,远程为7,能使用ip addr就说明ok了
[root@yuan ~]# ip addr show eno16777736 | grep 'inet\b' inet 172.16.1.1/16 brd 172.16.255.255 scope global eno16777736 |
我们在测试的 服务器端,因为我们开启了测试的前台显示,和输出为错误输出到终端,我们可以看到连接状况
[root@yuan xinetd.d]# dropbear -p 20000 -E -F [4523] Jun 30 10:49:45 Not backgrounding [4550] Jun 30 10:50:26 Child connection from 172.16.1.2:59012 [4550] Jun 30 10:51:00 Password auth succeeded for 'root' from 172.16.1.2:59012 |
当本地客户端断开连接的时候就会显示
[4583] Jun 30 11:07:04 Exit (root): Disconnect received |
编译安装dropbear
v2、ftp://172.16.0.1/pub/Sources/sources/dropbear/dropbear-2013.58.tar.bz2 (马哥内网服务器)
v3、tar xf dropbear-2013.58.tar.bz2,
v4、less INSTALL 或者cat INSTALL 查看安装帮助信息
v5、./configure
v6、make PROGRAMS='dropbear scp dropbearkey dbclient' 这里注意一下,如果有ssh有scp,这里的的scp就别安装了
v7、make PROGRAMS='dropbear scp dropbearkey dbclient' install
v8、ls /usr/local/sbin/ /usr/local/bin/
v9、/usr/local/sbin/dropbear -h
v10、mkdir /etc/dropbear
v11、dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key -s 2048
v12、dropbearkey -t dss -f /etc/dropbear/dropbear_dsa_host_key
v13、dropbear -p :2222 -F -E ; ss –tnl #前台运行,信息终端错误输出(测试用,正常启用的话,不用加-F和-E)
v14、ssh -p 2222 [email protected]
v15、dropbear -p :2222 #后台运行 (这是后台执行,测试成功就要执行这个,或者直接执行,不测试)
v16、dbclient -p 2222 [email protected]