Standardmäßig ist der Paketmanager apk nicht installiert, installieren Sie ihn also.
$ wget -qO- http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86/apk-tools-static-2.10.5-r1.apk | tar -xz sbin/apk.static && ./sbin/apk.static add apk-tools && rm sbin/apk.static && rmdir sbin 2> /dev/null
$ apk update
$ apk upgrade
$ apk add zsh vim git openssh
$ vim /etc/passwd
#Vorher ändern
root:x:0:0:root:/root:/bin/ash
#Nach der veränderung
root:x:0:0:root:/root:/bin/zsh
Starten Sie iSH nach der Änderung neu. Dann wird die Eingabeaufforderung als "\ h: \ w \ $" angezeigt und ist schwer zu erkennen. Ändern wir also die Eingabeaufforderung. Ich möchte es allen Benutzern gemeinsam machen, also erstelle / etc / zshrc.
setopt PROMPT_SUBST # allow funky stuff in prompt
if [ "$USER" = "root" ]; then
color="red" # root is red, user is cyan
else
color="cyan"
fi;
local ok_yuno="%F{yellow}✘╹◡╹✘%f"
local bad_yuno="%F{red}✘>﹏<✘%f"
local command_line="
%F{green}%B%*%b%f %F{$color}%B%n@%m%b%f %F{green}%B%~%b%f
%(?.${ok_yuno}.${bad_yuno}) %F{yellow}%B%#%b%f "
export PROMPT="${command_line}"
Auch / etc / vimrc
syntax enable
set number
set title
set cursorline
set virtualedit=onemore
set showmatch
set expandtab
set tabstop=2
set shiftwidth=2
set autoindent
set smartindent
set hlsearch
nmap <Esc><Esc> :nohlsearch<CR><Esc>
set fenc=utf-8
set encoding=utf-8
scriptencoding utf-8
set ambiwidth=double
inoremap { {}<Left>
inoremap {<Enter> {}<Left><CR><ESC><S-o>
inoremap ( ()<ESC>i
inoremap (<Enter> ()<Left><CR><ESC><S-o>
inoremap [ []<Left>
inoremap ' ''<Left>
inoremap " ""<Left>
nnoremap j gj
nnoremap k gk
nnoremap <down> gj
nnoremap <up> gk
Es ist eine magische Magie.
$ cat /dev/location > /dev/null &
Erlauben Sie als Nächstes immer die Verwendung von iSH-Standortinformationen in der iPad OS-Einstellungs-App.
Das iSH-Terminal ist etwas langweilig, daher wäre es großartig, wenn Sie es von einem Client aus bedienen könnten, den Sie gewohnt sind. Hier werde ich versuchen, iSH mit der von Minorin empfohlenen "Blink Shell" zu betreiben.
Port 22000 #Der Zugriff auf dasselbe Gerät unter Nummer 22 ist nicht möglich
PermitRootLogin yes #Wechseln Sie später zu Nein
PubkeyAuthentication yes
PasswordAutentication yes #Wechseln Sie später zu Nein
ClientAliveInterval 60 #Wie Sie möchten, damit SSH nicht unterbrochen wird
ClientAliveCountMax 60
$ passwd #Entscheiden Sie sich für ein Root-Passwort
$ ssh-keygen -A
$ /usr/sbin/sshd
Alles was Sie tun müssen, ist sich von Ihrem Lieblingsclient aus zu verbinden (o ・ ω ・ o)
ssh root@localhost -p 22000
$ adduser -s /bin/zsh minorin
$ addgroup minorin wheel
Installieren Sie sudo
$ apk add sudo
$ visudo
#Kommentar
%wheel ALL=(ALL) ALL
$ su minorin
$ chmod 755 /home/minorin
$ cd
$ mkdir .ssh
$ chmod 700 .ssh
$ cd .ssh
$ touch authorized_keys
$ chmod 600 authorized_keys
$ ssh-keygen
$ chmod 600 id_rsa
Kopieren Sie dann den öffentlichen Schlüssel des Clients und fügen Sie ihn in "autorized_keys" ein.
PermitRootLogin no
PasswordAutentication no
AddressFamily inet
UseDNS no
$ sudo /usr/sbin/sshd
Jetzt müssen Sie nur noch sicherstellen, dass Sie SSH von Ihrem normalen Client mit Schlüsselauthentifizierung ausführen können.
ssh minorin@localhost -p 22000
$ apk add openrc
$ rc-update add sshd
Dies sollte sshd automatisch starten, funktioniert aber nicht (; ∀;)
$ apk add alpine-sdk libstdc++ libc6-compat npm libx11-dev libxkbfile-dev libsecret-dev python3
$ npm config set unsafe-perm true
$ npm config set python python3
$ npm install -g @google-cloud/[email protected]
$ npm install -g code-server
npm WARN @coder/[email protected] requires a peer of @google-cloud/logging@^4.5.2 but none is installed. You must install peer dependencies yourself.
npm ERR! code ENOENT
npm ERR! syscall rename
npm ERR! path /usr/lib/node_modules/code-server/node_modules/tar-fs/node_modules/chownr
npm ERR! dest /usr/lib/node_modules/code-server/node_modules/tar-fs/node_modules/.chownr.DELETE
npm ERR! errno -2
npm ERR! enoent ENOENT: no such file or directory, rename '/usr/lib/node_modules/code-server/node_modules/tar-fs/node_modules/chownr' -> '/usr/lib/node_modules/code-server/node_modules/tar-fs/node_modules/.chownr.DELETE'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2020-**-*****_**_**_****-debug.log
Es war nicht gut (; ∀ ;)
Vorerst werde ich versuchen, VNC einzustellen.