Archlinux的ssh远程安装——比本地安装更便捷

其他Linux/Unix/BSD/OSX等发行版讨论
头像
qileilu
帖子: 375
注册时间: 2007-08-26 9:06
来自: 长沙
联系:

Archlinux的ssh远程安装——比本地安装更便捷

#1

帖子 qileilu » 2012-11-08 22:34

http://hi.baidu.com/qileilu/item/f28a91 ... 10515058f8

家里有一个10寸的dell上网本,鉴于Arch+xfce在我的老本子上跑得很成功,决定在上网本上也装一个。这次采用ssh远程安装,装下来发现ssh远程安装arch比在本地安装方便多了。步骤如下:

一、准备按装介质——SD卡
远程安装也要安装介质?对啊,这个必须有啊,不然怎么能建立起ssh通讯呢?
1.下载archlinux-2012.11.01-dual.iso
2.制作arch安装SD卡。上网本没有光驱啊,有多功能读卡器能直接读SD卡。(当然U盘也行。)
随便找台linux系统的电脑,插入sd卡(或用读卡器),运行:
# dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx
这里的sdx是sd卡对应的具体设备,请对照修改。注意:不要搞错了设备号,另外这一步会把sd上原数据全部清除。

二、从SD卡启动arch安装
把上一步准备的sd插入读卡器,连好网线,启动上网本,按F12(dell本子,其他本子可能按键不一样)选择启动介质为USB设备,电脑就从sd卡启动了。选择boot archlinux i686(我这里是32位的),直到启动完毕,显示:
root@archiso~#:
查看一下ip地址,方便下一步连接:
# ifconfig

三、安装OpenSSH并启动
在进行远程安装之前,本地需要先安装openssh。运行命令:
# pacman -S openssh
然后启动openssh:
# systemctl start sshd.service
还需要设置一下root密码:
# passwd

好了,到这里机子就不用管了,去找台linux的机子或者windows的机子,跟目标机在同一局域网下,开启ssh远程安装吧。
我这里自然用我先前的老本子了,要支持ssh客户机同样也需要先安装openssh。

四、ssh远程安装archlinux
这里对客户机的系统没有要求,linux任何版本或者windows都行,只要能运行ssh,最好还能打开网页,打开些pdf文档之类的,便捷在哪?就在这里啊!可以一边上网看wiki,一边按照步骤做安装,同时还不用手动敲命令,直接复制粘贴就ok了,相信敲错命令导致安装失败的人不少吧?

先打开浏览器,打开archlinux官方wiki新手指南:Beginners' Guide (简体中文)

然后打开终端,运行:
$ ssh root@192.168.0.103
(192.168.0.103是目标机的ip地址,请根据具体情况制定。)
这里会有安全提示,先忽略它,直接yes。然后你会发现提示符变了,变成了:
root@archiso~#:

好了,接下来的步骤跟本地安装一样了,只不过本地是全屏的,这里是在一个终端窗口里面,可以方便的查资料和粘贴复制。

1.准备存储设备
-------------------------------
# cfdisk /dev/sda

# lsblk /dev/sda

# mkfs.ext4 /dev/sda1

# mkswap /dev/sda2

# swapon /dev/sda2

2.挂载分区
-------------------------------
# mount /dev/sda2 /mnt

3.选择安装镜像
-------------------------------
安装前需要编辑 /etc/pacman.d/mirrorlist,将最想使用的镜像放到前面。
# vi /etc/pacman.d/mirrorlist

?163找到163源
yy复制
p文首,粘贴

# pacman -Syy

4.安装基本系统
-------------------------------
# pacstrap /mnt base base-devel

5.生成 fstab
-------------------------------
# genfstab -U /mnt >> /mnt/etc/fstab

# cat /mnt/etc/fstab

6.Chroot 到新系统
-------------------------------
# arch-chroot /mnt

7.配置系统Locale
-------------------------------
# vi /etc/locale.gen

下面几处按x,删除#号。
en_US.UTF-8 UTF-8
zh_CN.GB18030 GB18030
zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
zh_CN GB2312

# locale-gen

# nano /etc/locale.conf

LANG=zh_CN.UTF-8
LC_TIME=en_GB.UTF-8

# nano /etc/vconsole.conf

KEYMAP=us
FONT=
FONT_MAP=

8.配置系统 时区
-------------------------------
# nano /etc/timezone

Asia/Shanghai

# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

9.配置系统 硬件时间
-------------------------------
# hwclock --systohc --utc

10.主机名称
-------------------------------
# nano /etc/hostname

arch

# nano /etc/hosts

127.0.0.1 localhost.localdomain localhost arch
::1 localhost.localdomain localhost arch

11.安装NetworkManager并启动服务
------------------------------------------------------
# pacman -S networkmanager

# systemctl enable NetworkManager.service

ps:默认安装的network,需启动:dhcpcd@<interface>.service,似乎不太好用,这里我直接装networkmanager。

12.配置 pacman
-------------------------------
# nano /etc/pacman.conf

[archlinuxfr]
Server = http://repo.archlinux.fr/$arch

# pacman -Syu yaourt

13.设置 Root 密码并创建一般用户
-------------------------------
# passwd

# useradd -m -g users -G video,storage,optical,lp,scanner,games,wheel -s /bin/bash username

# passwd username

14.Sudo
-------------------------------
# pacman -S sudo
# visudo
允许wheel用户组成员无密码使用sudo:
%wheel ALL=(ALL) NOPASSWD: ALL

15.安装配置启动加载器
-------------------------------
# pacman -S grub-bios
# grub-install --target=i386-pc --recheck /dev/sda
# cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
# pacman -S os-prober
# grub-mkconfig -o /boot/grub/grub.cfg

16.更新系统
-------------------------------
# pacman -Syu

17.目标机安装openssh及设置ssh开机自启动
-------------------------------
# pacman -S openssh
# systemctl enable sshd.service

18.卸载分区并重启系统
-------------------------------
# exit
# umount /mnt
# reboot

###################################################
19.目标机重启后,需要重新建立ssh连接。
因为sd启动的ssh和新安装系统是不一样的,但是ip地址却是一样,这里会遇到安全屏蔽。
我的解决办法是,打开客户机的~/.ssh/known_hosts删掉里面的保存内容即可。

然后运行下面命令链接到新的用户和系统:
$ ssh username@192.168.0.103
(192.168.0.103是目标机的ip地址,请根据具体情况制定。)
这里会有安全提示,先忽略它,直接yes。然后你会发现提示符变了,变成了:
[username@arch~]$:
###################################################


20.声音
-------------------------------
$sudo pacman -S alsa-utils

21.图形用户界面
-------------------------------
安装 X
$sudo pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils mesa

安装显卡驱动
$ lspci | grep VGA
$ pacman -Ss xf86-video | less

$sudo pacman -S xf86-video-intel
这里上网本的显示核心是内置cpu里面的,安装intel的驱动。

安装输入设备驱动
$sudo pacman -S xf86-input-synaptics

22.安装字体
-------------------------------
$sudo pacman -S ttf-dejavu
$sudopacman -S wqy-zenhei
$sudoyaourt -S wqy-microhei

23.安装XFCE
-------------------------------
$sudopacman -S xfce4 xfce4-goodies

24.启动XFCE和单独在图形界面启用中文locale
-------------------------------
$ cp /etc/skel/.xinitrc ~/.xinitrc
$ nano ~/.xinitrc

export LANG=zh_CN.UTF-8
export LC_ALL="zh_CN.UTF-8"

exec startxfce4

25.安装SLiM
-------------------------------
$sudopacman -S slim
$sudopacman -S slim-themes archlinux-themes-slim
$sudo nano /etc/slim.conf
修改:
#current_theme default
current_theme archlinux-simplyblack

启动slim服务:
$sudo systemctl enable slim.service

好了,安装基本完毕,输入重启命令:
$ reboot

五、使用X11 Forwarding建立ssh远程图形连接
前面已经基本完成目标机的archlinux安装了。进一步研究一下怎么实现ssh的图形链接。

为了通过SSH运行图形程序你必须使用X11 Forwarding。并且需要设置服务器和客户端的配置文件。
在服务器(目标机)上安装xorg-xauth:
# pacman -S xorg-xauth

目标机上设置:
Enable the AllowTcpForwarding option in sshd_config on the server.
Enable the X11Forwarding option in sshd_config on the server.
Set the X11DisplayOffset option in sshd_config on the server to 10.
Enable the X11UseLocalhost option in sshd_config on the server.
客户机上设置:
Enable the ForwardX11 option in ssh_config on the client.
Enable the ForwardX11Trusted can help when gui drawing badly.

设置完成后需要重启目标机,连接运行命令:
$ ssh -X -p port user@server-address
如果遇到错误可以运行:
$ ssh -Y -p port user@server-address
测试一下效果:
$ xclock
如果遇到 "Cannot open display" 的错误还需要运行:
$ xhost +

好了,现在目标机上的任何图形程序都可以在客户机上运行了,因为我的两个桌面都是xfce ,所以这里我就不贴图了。

六、ssh远程整个桌面环境
突然有个想法,能否远程运行整个桌面环境呢?
这个可以有。以下是我做的尝试,与题目无关。

1.客户机没有开起X,在某个tty下通过ssh -X链接到目标机,采用任何方式都无法开起远程桌面,说明X是必须要首先运行的。

2.客户机完全进入本地桌面,然后通过ssh -X连接到目标机,目标机是xfce桌面,运行startxfce4,远程桌面完全显示与客户机本地桌面重叠。
如果运行startx而不是startxfce4,那么客户机没显示,目标机进入桌面环境。

3.怎么能不运行客户机本地桌面,直接运行目标机远程桌面呢?

1)客户机开机不进入桌面环境,slim登录界面直接敲exit(或者console)退出回到tty。
注意,这里slim有个bug,如果进入桌面环境再注销回到slim登录界面,这时敲exit会黑屏死屏,鼠标显示×。

2)某tty用户登录,运行命令:
$ X
这时会显示很多运行情况,但不会返回到$,好了,这个tty放置不管。

3)换个tty(Alt+Ctrl+F1~F6),用户登录,运行命令:
$ DISPLAY=:0 xterm
运行后也不会返回到$,只要没有错误提示就可,同样,这个tty也放置不管。

4)切换各tty(Alt+Ctrl+F1~F7),寻找刚才运行的xterm在哪里,一般会在tty7。
找到xterm窗口,鼠标点击激活,在xterm里面运行:
$ ssh -X username@102.168.0.103
(注意对应的ip地址)。
这时你会发现提示符变成类似:
[username@arch~]$:

5)ok,ssh已连接成功,现在运行:
$ export LANG=zh_CN.UTF-8
$ export LC_ALL="zh_CN.UTF-8"
$ startxfce4

此刻远程目标机的桌面已尽在眼前。
Dell M1210

双引导—>
grub2: 电源键启动
Chameleon V2: MediaDirect启动。

五系统—>
ArchLinux sda3,6,7,8,9 ext3,4
Win7 sda1,5,sdb5 ntfs
Mac OS X 10.5.7 Leopard sda2 hfs+
Ubuntu sda10 ext4
win2003 PE sdb1 fat32
swap sda11
头像
adagio
论坛版主
帖子: 22110
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球

Re: Archlinux的ssh远程安装——比本地安装更便捷

#2

帖子 adagio » 2012-11-09 2:15

杀花 :em11 有机会试试
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手
头像
ebok
帖子: 852
注册时间: 2008-02-15 0:09

Re: Archlinux的ssh远程安装——比本地安装更便捷

#3

帖子 ebok » 2012-11-09 3:33

chroot后ssh还可以连接?
Somebody think they are full of niubility, so they play a zhuangbility, but only reflect their shability.
riptide2012
帖子: 222
注册时间: 2011-12-14 10:21

Re: Archlinux的ssh远程安装——比本地安装更便捷

#4

帖子 riptide2012 » 2012-11-09 9:36

那你为什么还要安装呢?
scp直接把系统复制过去,然后chroot,用grub重新写下ipl就可以启动了(只要改下fstab对应你的目标机器的分区)
头像
qileilu
帖子: 375
注册时间: 2007-08-26 9:06
来自: 长沙
联系:

Re: Archlinux的ssh远程安装——比本地安装更便捷

#5

帖子 qileilu » 2012-11-09 12:47

ebok 写了:chroot后ssh还可以连接?
实测,arch-chroot /mnt是可以的。
Dell M1210

双引导—>
grub2: 电源键启动
Chameleon V2: MediaDirect启动。

五系统—>
ArchLinux sda3,6,7,8,9 ext3,4
Win7 sda1,5,sdb5 ntfs
Mac OS X 10.5.7 Leopard sda2 hfs+
Ubuntu sda10 ext4
win2003 PE sdb1 fat32
swap sda11
头像
qileilu
帖子: 375
注册时间: 2007-08-26 9:06
来自: 长沙
联系:

Re: Archlinux的ssh远程安装——比本地安装更便捷

#6

帖子 qileilu » 2012-11-09 12:50

riptide2012 写了:那你为什么还要安装呢?
scp直接把系统复制过去,然后chroot,用grub重新写下ipl就可以启动了(只要改下fstab对应你的目标机器的分区)
你的建议也好了,不过我不想简单的复制这个系统啊,我并不需要各个系统都一个模样,那有什么意思呢?加上硬件有别,新装自然是有好处的。何况我这里讲的是安装新系统,不是迁移系统,呵呵 :em06
Dell M1210

双引导—>
grub2: 电源键启动
Chameleon V2: MediaDirect启动。

五系统—>
ArchLinux sda3,6,7,8,9 ext3,4
Win7 sda1,5,sdb5 ntfs
Mac OS X 10.5.7 Leopard sda2 hfs+
Ubuntu sda10 ext4
win2003 PE sdb1 fat32
swap sda11
头像
速腾1994
论坛版主
帖子: 17379
注册时间: 2008-11-01 20:43
系统: Arch+gnome

Re: Archlinux的ssh远程安装——比本地安装更便捷

#7

帖子 速腾1994 » 2012-11-10 13:31

脱裤子放屁 :em05
头像
枫叶饭团
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
联系:

Re: Archlinux的ssh远程安装——比本地安装更便捷

#8

帖子 枫叶饭团 » 2012-11-10 13:36

我想吐槽的是,这和本地安装有什么区别?
xgdgsc
帖子: 277
注册时间: 2010-02-25 11:02
系统: Arch x64

Re: Archlinux的ssh远程安装——比本地安装更便捷

#9

帖子 xgdgsc » 2012-11-10 16:42

枫叶饭团 写了:我想吐槽的是,这和本地安装有什么区别?
可以复制粘贴,节省敲命令的时间。
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: Archlinux的ssh远程安装——比本地安装更便捷

#10

帖子 YeLee » 2012-11-10 17:25

我喜欢在虚拟机里面装系统。 :em01
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
qileilu
帖子: 375
注册时间: 2007-08-26 9:06
来自: 长沙
联系:

Re: Archlinux的ssh远程安装——比本地安装更便捷

#11

帖子 qileilu » 2012-11-10 18:29

YeLee 写了:我喜欢在虚拟机里面装系统。 :em01
:em04 我喜欢装n个系统在电脑里,然后通过m种不同的方法引导它们。
Dell M1210

双引导—>
grub2: 电源键启动
Chameleon V2: MediaDirect启动。

五系统—>
ArchLinux sda3,6,7,8,9 ext3,4
Win7 sda1,5,sdb5 ntfs
Mac OS X 10.5.7 Leopard sda2 hfs+
Ubuntu sda10 ext4
win2003 PE sdb1 fat32
swap sda11
头像
adagio
论坛版主
帖子: 22110
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球

Re: Archlinux的ssh远程安装——比本地安装更便捷

#12

帖子 adagio » 2012-11-10 22:32

枫叶饭团 写了:我想吐槽的是,这和本地安装有什么区别?
人家都说了,边安装边上网,直接从wiki里粘,很对我胃口 :em04
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手
头像
qy117121
论坛版主
帖子: 50587
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
联系:

Re: Archlinux的ssh远程安装——比本地安装更便捷

#13

帖子 qy117121 » 2012-11-10 22:33

我不会再装arch了
渠月 · QY   
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu

邮箱 chuan@ubuntu.org.cn
头像
qileilu
帖子: 375
注册时间: 2007-08-26 9:06
来自: 长沙
联系:

Re: Archlinux的ssh远程安装——比本地安装更便捷

#14

帖子 qileilu » 2012-11-11 21:53

adagio 写了:
枫叶饭团 写了:我想吐槽的是,这和本地安装有什么区别?
人家都说了,边安装边上网,直接从wiki里粘,很对我胃口 :em04
:em06 :em11
Dell M1210

双引导—>
grub2: 电源键启动
Chameleon V2: MediaDirect启动。

五系统—>
ArchLinux sda3,6,7,8,9 ext3,4
Win7 sda1,5,sdb5 ntfs
Mac OS X 10.5.7 Leopard sda2 hfs+
Ubuntu sda10 ext4
win2003 PE sdb1 fat32
swap sda11
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: Archlinux的ssh远程安装——比本地安装更便捷

#15

帖子 eexpress » 2012-11-11 21:58

riptide2012 写了:那你为什么还要安装呢?
scp直接把系统复制过去,然后chroot,用grub重新写下ipl就可以启动了(只要改下fstab对应你的目标机器的分区)
就是,写这么多,吓人。scp足够。
● 鸣学
回复