Linux含有SSH服务小于10M的裁剪技巧56

一、远程登录协议

1.telnet:远程登录,tcp/23端口的应用层协议

C/S架构

S:telnet服务器

C:telnet客户端

2.SSH:Secure Shell,tcp/22端口的应用层协议

通信过程及认证过程是加密的,主机需要认证

Server端发送Secret key给Client端的Public Key对照;

用户认证过程加密

数据传输过程加密

3.SSH协议 v1 v2

v1已经可以被man-in-middle(中间人)攻击了

4.SSH认证过程:

基于口令认证

基于密钥认证

二、Linux中的SSH:OpenSSH

1.C/S架构

a)服务器端:sshd,配置文件/etc/ssh/sshd_config

b)客户端:ssh,配置文件/etc/ssh/ssh_config

ssh-keygen 密钥生成器

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

scp 跨主机安全复制工具,复制过程是加密的

2.ssh登录服务端命令:

a)主机认证密钥(接收时选择yes|no),主机认证密钥保存在/USERHOME/.ssh/known_hosts

b)ssh(默认为客户端当前用户登录)远程登录方式:

ssh [email protected]

ssh -l USERNAME HOST

ssh [email protected] ‘COMMAND‘

c)scp:

scp SRC DEST

-r

-a

scp [email protected]:/path/to/somefile /path/to/local

scp /path/to/local [email protected]:/path/to/somewhere

d)ssh-keygen

-t rsa

~/.ssh/id_rsa(私钥文件位置)

~/.ssh/id_rsa.pub(公钥文件位置)

-f /path/to/KEY_FILE

-P ‘‘:指定加密私钥的密码,‘‘指定空密码

e)公钥要追加保存在远程主机某用户的家目录下的.ssh/authorized_keys文件或.ssh/authorized_keys2文件才能远程主机.

三、ssh登录服务端无需密码实例

方法一:

1、客户端生成密钥:

[[email protected] ~]# ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):

Created directory ‘/root/.ssh‘.

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:

e4:41:63:3c:e5:75:b5:a7:99:9e:ab:cd:99:9e:dc:a7 [email protected]

2、复制公钥到远程主机:

[[email protected] ~]# scp .ssh/id_rsa.pub [email protected]:/root

The authenticity of host ‘192.8.8.50 (192.8.8.50)‘ can‘t be established.

RSA key fingerprint is 3f:e6:b9:8e:e3:4d:c8:c2:e4:90:50:0f:5b:23:c1:2a.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added ‘192.8.8.50‘ (RSA) to the list of known hosts.

[email protected]‘s password:

id_rsa.pub                                                           100%  408     0.4KB/s   00:00

3、登录远程主机创建.ssh目录:

[[email protected] ~]# ssh [email protected]

[email protected]‘s password:

Last login: Thu Jun 19 23:03:02 2014 from 192.8.8.18

[[email protected] ~]# mkdir .ssh

[[email protected] ~]# chmod 700 .ssh

4、复制公钥文件到远程登录端:

[[email protected] ~]# cat id_rsa.pub >> .ssh/authorized_keys

5、退出远程登录端,在客户端测试,不需要在输入密码:

[[email protected] ~]# exit

[[email protected] ~]# ssh [email protected]

方法二:

[[email protected] ~]# ssh-copy-id -i .ssh/id_rsa.pub [email protected]

15

[email protected]‘s password:

Now try logging into the machine, with "ssh ‘[email protected]‘", and check in:

.ssh/authorized_keys

to make sure we haven‘t added extra keys that you weren‘t expecting.

[[email protected] ~]# ssh [email protected]

四、ssh服务端登录客户端端无需密码实例

1、生成服务端成私钥:

[[email protected] ~]# ssh-keygen -t rsa -f  .ssh/id_rsa -P ‘‘

Generating public/private rsa key pair.

Your identification has been saved in .ssh/id_rsa.

Your public key has been saved in .ssh/id_rsa.pub.

The key fingerprint is:

72:83:ec:93:c8:3e:6a:10:36:04:7a:40:4e:38:99:6f [email protected]

The key‘s randomart image is:

+--[ RSA 2048]----+

|*=               |

|Oo               |

|o+.              |

|.+E  . .         |

|.o.   + S        |

|.  . o + .       |

| .  o +          |

|  ...  .         |

| .....           |

+-----------------+

2、复制公钥到登录端:

[[email protected] ~]# ssh-copy-id [email protected]

3、服务端ssh测试:

[[email protected] ~]# ssh [email protected]

Last login: Mon Jun  2 14:11:26 2014 from 192.8.8.10

[[email protected] ~]#

五、嵌入式系统专用的SSH服务器端和客户端工具(dropbear)

[可接BASH脚本编程之系统裁剪51或者Linux自定义内核及busybox完成系统定制52]

1.服务器端命令:

dropbear:dropbear会在用户登录检查其默认shell是否是当前系统的安全shell(/etc/shell)

dropbearkey

2.客户端:dbclient

3.dropbear主机密钥默认位置:/etc/dropbear

RSA:dropbear_rsa_host_key

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

DSS:dropbear_dss_host_key

长度固定,默认为1024

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

/etc/nsswitch.conf

/lib/libnss_files*

/usr/lib/libnss3.so

/usr/lib/libnss_files*

自定义Linux实现SSH远程登录:

1.下载\Sources\Busybox下的dropbear-2013.56.tar.bz2;

2.tar xf dropbear-2013.56.tar.bz2

3.编译dropbear(安装编译环境:Development Libraries;Development Tools)

cd dropbear-2013.56

./configure

make

make install

4.运行脚本binary.sh移植dropbear,dropbearkey,dbclient命令:

5.编辑安全shell文件

cd /mnt/sysroot

vim etc/shells

/bin/sh

/bin/bash

/bin/ash

/bin/hush

6.添加挂载伪文件系统:

vim etc/fstab第三行添加:

devpts/dev/ptsdevptsmode=62000

7.创建能执行伪文件系统的目录:

mkdir dev/pts

8.生成dropbear主机密钥:

mkdir etc/dropbear

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

dropbearkey -t dss -f /mnt/sysroot/etc/dropbear/dropbear_dss_host_key

ls etc/dropbear/

9.复制longin中间层文件:

ls -l /mnt/sysroot/usr/lib

mkdir /mnt/sysroot/usr/lib

cp -d /lib/libnss_files* /mnt/sysroot/lib/

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

10.编辑login的配置文件:

cp /etc/nsswitch.conf /mnt/sysroot/etc/

vim /mnt/sysroot/etc/nsswitch.conf(.,$d删除其他行,保留四行)

passwd:files

shadow:files

group:files

hosts:filesdns

11.启动新主机登录,测试:

使用绝对路径运行dropbear命令:

/usr/local/sbin/dropbear -E -F(前端运行)

/usr/local/sbin/dropbear(后端运行)

12.远程登录新主机;

export PATH=$PATH:/usr/sbin:/sbin:/usr/local/bin:/usr/local/sbin

13.新主机上登录另外一台主机:

/usr/local/bin/dbclient -l root IPADD .

Linux含有SSH服务小于10M的裁剪技巧56,布布扣,bubuko.com

时间: 2024-12-29 23:52:42

Linux含有SSH服务小于10M的裁剪技巧56的相关文章

Linux 上SSH 服务的配置和管理

基本上Linux的网络服务器在远程操作大多时候都是使用SSH来配置.管理服务器.现在我们就来分享一下简单配置Linux的SSH服务. 1.检查一下默认安装的系统是否安装了SSH服务: chkconfig  --list | grep sshd 2.首先要备份配置文件,任何时候我们需要修改配置文件的时候都建议先把原始文件备份 cp -a /etc/ssh/sshd_config /etc/ssh/sshd_config.bak 3.下面我们就来修改SSHD_config配置文件,需要修改两个地方,

linux的ssh服务

sshd简介sshd= secure shell可以通过网络在主机中开机shell的服务 连接方式:ssh [email protected] ---> 文本模式的链接ssh -X [email protected] ---> 可以在链接成功后开机图形 注:第一次链接陌生主机是要建立认证文件(~/.ssh/know_hosts)所以会询问是否建立,需要输入yes在次链接此台主机时,因为已经生成~/.ssh/know_hosts文件所以不需要再次输入yes 实验具体操作: sshd 的密钥认证实

Linux启用ssh服务相关操作

检查linux系统是否已经安装了ssh服务,有openssh或其他xxxssh,表示有安装ssh服务 命令:rpm -qa | grep ssh 2.启动ssh服务 ssh 服务用命令表示为sshd,所以启动命令为:service sshd start 3.查看端口使用情况 查看所有tcp端口:netstat -tnlp 查看指定端口:netstat -tnlp | grep 22 4.在windows的dos窗口下测试ssh服务是否连接成功,命令:telnet ip地址 端口号

linux中ssh服务

ssh:Secure Shell,属于应用层协议,工作在tcp的22端口.相对于telnet,ssh通信过程及认证过程都是加密的,故更加安全. 在linux中,一般使用openssh来实现ssh ssh的认证有口令认证和密钥认证 一.基于口令的认证 1.        客户端发起连接请求 2.        服务端发送自身公钥给客户端,由客户端决定是否接受(ssh客户端接收一个服务端的密钥                           后,密钥保存在客户端当前用户的家目录下的.shh目录中

查看linux虚拟机ssh服务是否开启

知识准备: 1.ssh和sshd的区别: 2.ssh服务进程默认地址:/etc/init.d/ssh 查看ssh服务是否开启 service ssh status 或者: /etc/init.d/ssh status 在虚拟机上单元测试remote.c函数,先手工检查ssh有没有运行: [email protected]:/etc/init.d# /etc/init.d/ssh status * sshd is running 或者这样检查:[email protected]:/etc/init

Linux的SSH服务初学

SSH 为 Secure Shell 的缩写,SSH 为建立在应用层基础上的安全协议.SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议.利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题.1.ssh安全的加密协议,用于远程连接服务器.2.默认端口22,安全协议版本ssh2.3.服务端包含两个服务功能:ssh远程连接:SFTP服务.4.ssh客户端半酣ssh连接命令,以及远程拷贝scp命令等. 利用ssh远程登陆另一台机器:[[email protected] ~]#

Linux配置ssh服务和XShell连接Linux

SSH服务查看和安装,配置: https://www.cnblogs.com/qiuqiuqiu/p/6445426.html https://www.cnblogs.com/yunweis/p/7727077.html https://blog.csdn.net/java_dotar_01/article/details/76942563 注意防火墙开启的情况下需要打开SSH对应端口,默认为22. XShell配置SSH连接Linux: https://jingyan.baidu.com/ar

Linux系统SSH服务详解

简介: SSH 为 secure shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层基础上的安全协议.SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议.利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题.SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台.SSH在正确使用时可弥补网络中的漏洞.SSH客户端适用于多种平台.几乎所有UNIX平台-包括HP-UX.Linux.AIX.Sol

linux开启ssh服务

1.ubuntu发行版安装/开启ssh服务 1.1 安装ssh服务端 sudo apt-get install openssh-server 1.2 开启ssh服务 sudo /etc/init.d/ssh start 1.3 查看ssh服务端是否启动了 ps -e | grep ssh 555 ? 00:00:00 sshd 1.4 ssh服务进程(sshd)已经开启后就可以进行连接了.(假设开启ssh服务的机器IP为192.168.1.1) ssh [email protected]192.