菜鸟学Linux 第039篇笔记 ssh dropbear

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介:

菜鸟学Linux 第039篇笔记 ssh dropbear



telnet: 远程登录协议 23/tcp

C/S 架构

S telenet server

C telenet client

ssh Secure SHell  应用层协议, 22/tcp

通信过程及认证过程都是加密的,可以实现主机认证

主机密钥, 非对称加密 secret key

  public key

  会话密钥交换 对称密钥

用户认证过程加密

数据传输过程加密


ssh v1

man-in-middle

ssh v2

认证过程

基于口令认证

基于密钥认证


协议:规范

实现: 服务器端、客户端


Linux: OpenSSH

C/S

服务器端 sshd 配置文件/etc/ssh/ssh_config

客户端 ssh  配置文件/etc/ssh/ssh_config

ssh-keygen 密钥生成器

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

scp 跨主机的安全复制工具

ssh command

ssh USERNAME@IP 连接远程主机

初次建立会在家目录下生成.ssh文件,用来保存主机认证密钥

ssh -l USER_NAME IP 连接远程主机

ssh USERNAME@IP 'COMMAND'  发送给远程主机命令,并传回到客户端结果

scp

scp SRC DEST

-r

-a

e.g. scp USER_NAME@IP:/path/somefile /path/local

 scp /local/path USER_NAME@IP:/path/

 

ssh-keygen -t rsa  生成密钥,使登录远程主机不再需要输入密码

-t rsa

~/.ssh/id_rsa

~/.ssh/id_rsa.pub

-f /path/file

-P '' 指定加密私钥的密码

公钥追加到远程主机某用户的家目录下的.ssh/authorized_keys文件

或.ssh/authorized_keys2文件

1.先复制本地的id_rsa.pub到远程主机的家目录

2.创建目录.ssh

如果远程主机家目录下没有.ssh文件夹可以手动创建,注意要把权限改为700

追加内容 cat id_rsa.pub >> .ssh/authorized_keys

建议追加,因为有可能该文件里还有其它用户的key

第二种复制密钥到远程主机

ssh-copy-id -i .ssh/id_rsa.pub USER_NAME@IP

小系统安装ssh功能

dropbear 嵌入式系统专用的ssh服务器端和客户端

https://matt.ucc.asn.au/

服务器端 dropbear

密钥生成器 dropbearkey

客户端 dbclient

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

/etc/nsswitch.conf

/lib/libnss-files*

/usr/lib/libnss3.so

/usr/lib/libnss_files*

dropbear会在用户登录时检查其默认shell是否当前系统的安全shell

/etc/shell

主机密钥默认位置

/etc/dropbear/

RSA: dropbear_rsa_host_key

长度可变,只要是8的整数位,默认为1024

DSS: dropbear_dss_host_key

长度固定,默认为1024

密钥生成器 dropbearkey

-t rsa|dss

-f /path/to/KEY_FILE

-s SIZE

1.从网站下载其源代码

解压 tar xf dropbear-2013.56.tar.bz2

cd dropbear-2013.56

./configure

make

make install

2. 运行之前所做copy lib的脚本

输入

dropbear

dropbearkey

dbclient

3. vim /etc/shells 添加如下 (注意这个是小系统的etc目录别弄错了)

/bin/sh

/bin/bash

/bin/ash

/bin/hush

vim /etc/fstab

devpts       /dev/pts          devpts  mode=620        0 0

mkdir /dev/pts

4. 生成key

dropbearkey -t rsa -f etc/dropbear/dropbear_rsa_host_key -s 2048

dropbearkey -t dss -f etc/dropbear/dropbear_dss_host_key

注意目录都是小系统的根目录

5. mkdir /usr/lib (未做)

cp -d /lib/libnss_files* /lib/

cp -d /usr/lib/libnss3.so /usr/lib/libnss_files.so /usr/lib/

6. cp /etc/nsswitch.conf etc/

vim etc/nsswitch.conf 只保留此四行

passwd:     files

shadow:     files

group:      files

hosts:      files dns

本文转自Winthcloud博客51CTO博客,原文链接http://blog.51cto.com/winthcloud/1880499如需转载请自行联系原作者


Winthcloud

相关文章
|
5月前
|
Ubuntu Linux Python
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
在Linux系统中,使用Tkinter库时可能会遇到中文显示乱码的问题,这通常是由于字体支持问题导致的,可以通过更换支持中文的字体来解决。
291 0
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
|
6月前
|
安全 Linux 网络安全
Linux端的ssh如何升级?
Linux端的ssh如何升级?
565 59
|
4月前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
5月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
165 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
5月前
|
大数据 网络安全 数据安全/隐私保护
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(二)
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(二)
223 5
|
5月前
|
XML 大数据 网络安全
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(一)
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(一)
124 4
|
7月前
|
机器学习/深度学习 存储 Linux
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
|
7月前
|
监控 安全 Ubuntu
在Linux中,如何进行SSH服务配置?
在Linux中,如何进行SSH服务配置?
|
7月前
|
Linux 网络安全
Linux开启ssh
Linux开启ssh
66 0
|
7月前
|
安全 Linux 网络安全
在Linux中,使用rsync同步数据时,假如采用的是ssh方式,并且目标机器的sshd端端并不是默认的22端口,该如何做?
在Linux中,使用rsync同步数据时,假如采用的是ssh方式,并且目标机器的sshd端端并不是默认的22端口,该如何做?