第九章-SSH

一般来说我们连接远程主机都是使用 SSH,比如在外面用手机访问家里的树莓派或是VPS,相比远程桌面这种服务更灵活,更自由

Secure Shell(缩写为SSH),由IETF的网络工作小组(Network Working Group)所制定;SSH为一项创建在应用层和传输层基础上的安全协议,为计算机上的Shell(壳层)提供安全的传输和使用环境。

因为 Windows 的 CMDpowershell并没有提供 SSH,所以我们需要下载客户端 puttyXshell

安卓推荐 JuiceSSH

如果你有安装 Github 的桌面客户端的话,也可以使用它的 Git Shell

在 Host Name 处填入 raspberrypi 或你的树莓派IP地址

提示输入用户名和密码的话,依次输入

  • pi

  • raspberry

之后你就可以远程操作你的树莓派了,当然不在一个网内的话可能需要其它配置


下面我们来配置免密码登陆,这样就不用每次输入密码了

先在树莓派上生成SSH Key:

ssh-keygen -t rsa -C YOURNANME@YOURDEVICE
cd ~
install -d -m 700 ~/.ssh
cat ~/.ssh/id_rsa.pub | ssh USERNAME@IP-ADDRESS 'cat >> .ssh/authorized_keys'

也可在putty或其它软件上生成

然后将生成的公钥 pi.pub 用Samba/SFTP/ZMODEM传送至树莓派

cat pi.pub >> .ssh/authorized_keys

如果你比较在意安全的话,上面设置成功后可以关闭密码登陆了


如果不愿意关闭密码登陆,可以通过开启两步认证来提高安全系数

sudo apt-get install ssh libpam-google-authenticator

配置:

google-authenticator

截屏(WIN: WIN + Prtscr, Android: Power Button + Volume -) 存至安全的地方

所有选项均选yes

下载谷歌Google Authenticator,用手机扫描二维码

sudo nano /etc/pam.d/sshd

添加:

auth required pam_google_authenticator.so

然后

sudo nano /etc/ssh/sshd_config

找到 ChallengeResponseAuthentication

no 改成 yes

systemctl restart sshd.serviced

测试:

ssh pi@raspberrypi

经常通过 SSH访问树莓派的话,你可能会发现有些地方不方便,比如正在进行的任务因为网络不稳定突然中断而前功尽弃,这时推荐你用screentmux

安装:

sudo apt-get install screen

运行:

screen bash

Detach:

CTRL + A release,then press D

列出当前所有screen:

screen -list

重新连接:

screen -r

结束: CTRL + D

重新连接attached的session:

screen -D -r

results matching ""

    No results matching ""