[原文链接](https://blog.csdn.net/qq_33303204/article/details/84728698)
` `默认安装 Tiny Core(Core)Linux 系统并没有任何默认安装的 SSH 服务,这意味着您无法通过 ssh 登录来远程配置这个极为简单的操作系统。如果您希望在无界面运行的机器上运行 Tiny Core 并希望通过 ssh 登录会话远程配置它,请按照本文在 Tiny Core 上配置 SSH 服务器。
## 安装和配置 SSH 服务
### 1. 安装 OpenSSH 包
` `使用以下命令安装 OpenSSH 软件包:
```shell
tce-load -wi openssh
```
### 2. 使用模板创建 SSH 配置文件
` `使用以下命令将示例配置文件复制到 ssh\_config 文件中:
```shell
sudo cp /usr/local/etc/ssh/sshd_config.orig /usr/local/etc/ssh/sshd_config
```
### 3. 启动 SSH 服务
` `使用以下命令启动 SSH 服务:
```
sudo /usr/local/etc/init.d/openssh start
```
### 4. 更改默认用户 “tc” 的密码
` `更改默认用户 “tc” 的密码,以便您可以在 ssh user/password 的提示框下输入此密码。使用以下命令以更改密码:
```
echo tc:密码 | sudo chpasswd
```
` `注意:如果要更改 root 密码,可以使用以下命令以更改 root 更改密码:
```
echo root:password | sudo chpasswd
```
### 5. 检查IP地址
` `要进入您的 Tiny Core 主机,您需要分配给它的 IP 地址。您可以使用以下命令获取 IP 地址:
```
ifconfig
```
` `注意虚拟机中的话请打开单独的一个虚拟网卡用于虚拟机和主机通信,这样才能在后面使用ssh连接虚拟机中的tinycore。
### 6. 验证 SSH 服务
` `您可以使用以下命令检查您的计算机是否正在侦听端口 22 :
```
tc@box:~$ ps | grep ssh
1339 root /usr/local/sbin/sshd
1350 tc grep ssh
tc@box:~$ sudo netstat -anp | grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1339/sshd
netstat:/proc/net/tcp6: No such file or directory
netstat:/proc/net/udp6: No such file or directory
netstat:/proc/net/raw6: No such file or directory
```
## 使SSH配置持久化
### 基本配置
` `由于Tiny Core Linux 运行在系统内存(RAM),如果系统重新启动,它将丢失所有配置的更改。要使配置持久,您可以按照以下步骤操作:
` `要使每次启动计算机时加载库或执行命令,都需要将其添加到 ‘/opt/bootlocal.sh’ 文件中。
首先要使用以下的命令编辑 ‘/opt/bootlocal.sh’ 文件的权限以让其可以被编辑:
~~~shell
sudo chmod -R 777 /opt/bootlocal.sh
~~~
` `使用以下命令使系统重启后自动修改默认用户密码:
```
sudo echo 'echo tc:password | chpasswd' >> /opt/bootlocal.sh
```
` `使用以下命令使系统重启后自动使用模板创建 SSH 配置文件:
```
sudo echo 'sudo cp /usr/local/etc/ssh/sshd_config.orig /usr/local/etc/ssh/sshd_config' >> /opt/bootlocal.sh
```
` `使用以下命令使系统重启后自动启动 SSH 服务:
```
sudo echo '/usr/local/etc/init.d/openssh start&' >> /opt/bootlocal.sh
```
` `使用以下命令显示 ‘/opt/bootlocal.sh’ 文件的最终结果:
```
tc@box:~$ cat /opt/bootlocal.sh
#!/bin/sh
# put other system startup commands here
echo tc:password | chpasswd
sudo cp /usr/local/etc/ssh/sshd_config.orig /usr/local/etc/ssh/sshd_config
/usr/local/etc/init.d/openssh start&
```
### 编辑 ’ .filetool.lst ’ 文件
` `文本文件 ‘/opt/.filetool.lst’ 列出了要在断电时备份的文件和目录(需手动使用 ‘[filetool.sh](http://filetool.sh) -b’ 命令)并在重新启动后(自动)恢复。使用以下 2 个命令将 SSH 和密码影子文件路径添加到此文件:
```
sudo echo '/usr/local/etc/ssh' >> /opt/.filetool.lst
sudo echo '/etc/shadow' >> /opt/.filetool.lst
```
### 备份 ’ .filetool.lst ’ 文件中定义的配置
` `Tiny Core 包含 ‘filetool’ 实用程序,用于使用 ‘/opt/.filetool.lst’ 路径中的定义保存个人设置和数据。您可以使用以下命令触发备份:
```
filetool.sh -b
```
` `以下是此命令的控制台输出:
```
tc@box:~$ filetool.sh -b
Backing up files to /mnt/sda1/tce/mydata.tgz/
Done.
```
` `以上步骤完成后,您就可以尝试使用以下命令重新启动系统以测试 SSH 服务是否仍然有效:
## 自动化安装脚本
```
##################################################################################
##
## install_ssh.sh
##
## by JunchengLai
## from https://github.com/junchenglai/Tiny-Core-Linux/blob/master/install_ssh.sh
##
##################################################################################
# 安装 OpenSSH 包
tce-load -wi openssh
# 使用模板创建 SSH 配置文件
sudo cp /usr/local/etc/ssh/sshd_config.orig /usr/local/etc/ssh/sshd_config
# 启动 SSH 服务
sudo /usr/local/etc/init.d/openssh start&
# 更改默认用户 “tc” 的密码
echo tc:password | sudo chpasswd
# 编辑 ’.filetool.lst’ 文件
sudo echo '/usr/local/etc/ssh' >> /opt/.filetool.lst
sudo echo '/etc/shadow' >> /opt/.filetool.lst
# 编辑启动文件
sudo echo 'echo tc:password | chpasswd' >> /opt/bootlocal.sh
sudo echo 'sudo cp /usr/local/etc/ssh/sshd_config.orig /usr/local/etc/ssh/sshd_config' >> /opt/bootlocal.sh
sudo echo 'sudo /usr/local/etc/init.d/openssh start' >> /opt/bootlocal.sh
# 备份配置
sudo filetool.sh -b
```
使用以下命令就可以部署 SSH 服务
```shell
sudo echo 'nameserver 114.114.114.114' >> /etc/resolv.conf
wget https://raw.githubusercontent.com/junchenglai/Tiny-Core-Linux/master/install_ssh.sh
sudo sh ./install_ssh.sh
```
## 第二种配置方式
` `tiny core是在内存红运行的linux,文件 `opt/bootlocal.sh`会在开机时候运行,那么将配置文件写入进去,然后讲数据备份就好了。
` `为bootlocal.sh添加权限
```
chmod -R 777 /opt/bootlocal.sh
```
` `使用命令`bim /opt/bootlocal.sh`编辑bootlocal.sh文件,如下是bootlocal.sh编辑后的文件内容:
```
#!/bin/sh
# put other system startup commands here
#config ssh
echo cp /usr/local/etc/ssh/sshd_config.orig /usr/local/etc/ssh/sshd_config
echo tc:ppp | sudo chpasswd
sudo netstat -anp | grep 22
sudo /usr/local/etc/init.d/openssh restart
```
` `然后使用命令`backup uility`将数据备份起来。之后每次开机就可以使用了。
![](https://img.kancloud.cn/8d/e2/8de2c962d7de4091cf1c80665b198d1b_633x475.png)
- 0 工具
- 0.1 图片无损放大
- 1 deepin系统
- 1.1 deepin系统安装
- 1.2 deepin创建desktop文件
- 1.3 浏览器运行虚拟机
- 1.4 linux的百度网盘突然打不
- 1.5 deepin安装后个人配置
- 1.5.1 安装公式编辑器AxMath
- 1.5.2 Deepin标题栏太高的解决办法(自定义高度)
- 1.5.3 linux下配置VS Code的标题栏风格
- 1.5.4 安装脚本解释器fish
- 1.6 关于软件安装
- 1.6.1 rpm和deb包想换转换的方法
- 1.7 deepin开机自启的设置方法
- 2 tiny core系统
- 2.1 安装系统到硬盘
- 2.2 系统软件安装介绍
- 2.3 安装控制台计算器bc
- 2.4 关机保存的方法
- 2.5 linux文件结构说明
- 2.6 为tinycore配置ssh
- 3 使用Linux中的一些技巧
- 3.1 软连接的使用
- 3.2 LInux下解压
- 3.3 删除操作
- 3.4 Zenity-在命令行和Shell脚本中创建图形(GTK +)对话框
- 3.4.1 列表框
- 3.4.2 口令对话框
- 3.4.3 消息对话框
- 3.4.3.1 信息对话框
- 3.4.3.2 错误框
- 3.4.3.3 问题对话框
- 3.4.3.4 警告对话框
- 3.4.4 范围对话框(滑条)
- 3.4.5 文件选择对话框
- 3.4.6 表单对话框
- 3.4.7 文本信息框
- 3.4.8 进度框
- 3.4.9 文本输入框
- 3.4.10 通知区域图标
- 3.4.11 日历对话框
- 3.4.12 颜色对话框
- 3.4.13 上述对话框测试文件
- 3.4.14 使用C++调用zenity
- 3.5 Linux whereis、find和locate命令
- 3.6 字体下载
- 3.7 使用Electron 创建跨平台的应用程序
- 3.8 shell的使用
- 3.8.1 $$,$?等表示什么
- 3.8.2 shell随机产生某一个范围内的整数
- 3.8.3 写shel脚本的一些使用操作
- 3.8.4 linux shell操作二进制文件
- 3.8.5 shell中的一些实用技巧
- 3.8.5.1 列出当前路径下的所有文件夹
- 3.8.5.2 列出当前路径下所有文件
- 3.8.5.3 获取当前虚拟终端的大小
- 3.8.5.4 判断输入字符串是否为数字
- 3.8.5.5 bash中的数学运算
- 3.8.5.6 按照文件创建时间顺序列出文件
- 3.8.5.7 echo输出含空格不换行的设置方法
- 3.8.5.8 find 递归/不递归 查找子目录的方法
- 3.8.5.9 echo显示颜色设置
- 3.8.5.10 bash中使用${}字符操作方法
- 3.8.5.11 ls查找目录,文件,软连接等的方法
- 3.8.5.12 检测某个程序是否在运行
- 3.8.5.13 bash/shell 解析命令行参数工具:getopts/getopt
- 3.8.5.14 获取脚本的绝对路径
- 3.8.6 使用bash写的脚本管理脚本
- 3.9 Linux创建自定义命令
- 3.10 deepin挂载远程文件夹到本地
- 3.11 linux root用户添加用户
- 3.12 实用脚本或者命令
- 3.12.1 命令行 将ppt转换为 pdf
- 3.12.2 deepin上实现自定义命令
- 4 slitaz系统
- 4.1 系统安装
- 4.2 安装软件命令tazpkg
- 4.3 使用说明
- 4.4 用 tazlito 构建 livecd自制linux系统
- 4.5 英文显示支持设置方法
- 4.6 配置ssh
- 5 busybox的编译使用
- 5.1 busybox介绍
- 5.2 busybox编译使用
- 6 配置自己的linux
- 6.1 在deepin上编译linux内核
- 7 每天一个linux命令
- 7.1 文件管理类
- 7.1.1 cat--接文件并打印到标准输出设备上
- 7.1.2 chattr--改变文件属性
- 7.1.3 chgrp--变更文件或目录的所属群组
- 7.1.4 chmod --控制文件如何被他人所调
- 7.1.5 chown命令--指定文件的拥有者改为指定的用户或组
- 7.1.6 grep命令--用于查找文件里符合条件的字符串
- 7.1.7 其他
- 7.2 文档编辑类
- 7.2.1 col--过滤控制字符
- 7.2.2 colrm--滤掉指定的行
- 7.2.3 comm --比较两个已排过序的文件
- 7.2.4 awk--一种处理文本文件的语言,是一个强大的文本分析工具
- 7.2.5 sed命令
- 7.3 文件传输类
- 7.3.1 prm--将一个工作由打印机贮列中移除
- 7.4 磁盘管理类
- 7.4.1 cd--切换当前工作目录至 dirName(目录参数)。
- 7.4.2 df--显示目前在Linux系统上的文件系统的磁盘使用情况统计
- 7.4.3 dirs--显示目录记录
- 7.4.5 du--显示目录或文件的大小
- 8 其他系统
- 8.1 Alpine Liunx
- 8.1.2 简介
- 8.1.2 本地安装
- 8.1.3 apk软件包管理
- 8.1.4 配置ssh