开箱即用的ssh客户端部署(自用)

本文的ssh客户端部署在arm开发板上,使用的交叉编译工具为arm-linux-gnueabi-gcc,本文资源使用的前提是要部署的设备为arm设备,若目标设备与交叉编译工具不一致,资源很可能无法使用,但部署步骤类似。


1.下载本文的资源文件(或自行交叉编译openssh)

  下载资源文件,里面包含交叉编译openssh后的生成的bin文件以及配置文件

rootfs/
├── etc
│   ├── ssh_config
│   └── sshd_config
└── usr
    └── bin
        ├── scp
        ├── sftp
        ├── sftp-server
        ├── ssh
        ├── ssh-add
        ├── ssh-agent
        ├── ssh-keygen
        ├── ssh-keyscan
        ├── ssh-keysign
        ├── ssh-pkcs11-helper
        ├── ssh-sk-helper
        └── sshd

2.拷贝资源文件到开发板中,并解压

选择你自己的方式把ssh.tar拷贝到开发板中,u盘也好,nfs也,自行选择你会用的方式

cp ssh.tar /tmp

拷贝ssh.tar到/tmp目录中

cd /tmp

 进入/tmp目录中

tar -xf ssh.tar

解压ssh.tar

3. 拷贝文件夹中的可执行文件以及配置文件到开发板中

拷贝sshd scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan 到开发板的对应目录中

mkdir /usr/local/ssh
cd /tmp/rootfs/usr/bin
cp * /usr/local/ssh
mkdir /usr/libexec/
cp /usr/local/ssh/sftp-server /usr/libexec
sudo mkdir /etc/ssh
cp /usr/local/ssh/ssh-keygen /etc/ssh

拷贝配置文件到 sshd_config 到/etc/ssh

cp /tmp/rootfs/etc/* /etc/ssh

4.生成key文件

/usr/local/ssh/ssh-keygen -A

该命令会生成所有用于ssh连接的密钥对并覆盖现有的,使用前请注意/etc 或/etc/ssh下有无图片中文件

有的话请注意备份

或指定生成的密钥对

cd /etc/ssh
/etc/ssh/ssh-keygen -t rsa -f ssh_host_rsa_key -N ""
/etc/ssh/ssh-keygen -t dsa -f ssh_host_dsa_key -N ""
/etc/ssh/ssh-keygen -t ed25519 -f ssh_host_ed25519_key -N ''
/etc/ssh/ssh-keygen -t ecdsa -f ssh_host_ecdsa_key -N ''

5. 修改sshd_config配置文件

添加“PermitRootLogin yes”使能管理员登录

root若未设置密码,使用passwd设置密码

把“Subsystem sftp /usr/libexec/sftp-server”这句话的注释去掉,使能sftp

6.创建ssh工作目录

mkdir /var/empty
chmod 755 /var/empty

在/etc/passwd 中添加下面这一行

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

7.启动!!!

/usr/local/ssh/sshd

使用ps查看sshd是否在运行

在运行的话可以使用ssh工具连接开发板

查看开发板ip地址,确认主机能ping通开发板

我使用的是termius这个工具进行ssh登录以及sftp进行文件传输

8.可设置开机自启

编辑开机自动运行的脚本

vim /etc/init.d/rcS

在脚本最后一行添加如下文本设置开机自启(要确保你的开发板开机后能自动连上网络)

/usr/local/ssh/sshd &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值