使用ssh键登录到RPi比每次键入密码要方便得多。
那么我该如何设置ssh密钥以登录到我的RPi?

评论

非常相似的问题/答案在这里。

在这里:raspberrypi.stackexchange.com/questions/66613/…

#1 楼

Linux
如果您以前从未听说过ssh密钥,则需要生成一个这样的密钥
$ ssh-keygen -t dsa

这将创建目录~/.ssh/并存储密钥文件
$ ls -l .ssh/
-rw------- 1 gnibbler gnibbler 668 Aug 22  2004 .ssh/id_dsa
-rw------- 1 gnibbler gnibbler 603 Aug 22  2004 .ssh/id_dsa.pub

您需要将id_dsa.pub复制到RPi。使用帮助程序脚本可以很容易地做到这一点。
$ ssh-copy-id -i ~/.ssh/id_dsa.pub pi@raspberrypi.local

上次您需要输入pi用户密码
下次登录时,您不会提示输入密码
$ ssh pi@raspberrypi.local
Linux raspberrypi 3.1.9+ #174 PREEMPT Sun Jul 22 19:04:28 BST 2012 armv6l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

Type 'startx' to launch a graphical session

如何禁用密码登录?
一旦设置了基于密钥的登录,就不再需要使用密码登录了;您可以禁用它,这将更加安全。


首先,登录到Raspberry Pi,并以/etc/ssh/sshd_config打开root;例如,运行sudo vim /etc/ssh/sshd_config


找到包含PasswordAuthentication的行;它可能显示为#PasswordAuthentication yes


更改此行,使其显示为
PasswordAuthentication no


重新启动Raspberry Pi,或者只是sshd


Arch Linux
要在Arch上重新启动sshd,请运行sudo rc.d restart sshd
Debian / Raspbian
要在基于Debian的发行版上重新启动sshd,请运行sudo /etc/init.d/sshd restart。 br />

评论


请注意,仅在知道连接已经安全的情况下才应使用无密码ssh。否则,您将面临节省10秒的风险。

–活动
2012年8月22日在22:26

@Jivings解释吗?密钥总是比密码更安全。

–亚历山大·张伯伦
2012年8月23日下午6:12

@gnibbler您接受有关如何禁用密码登录的编辑吗?

–亚历山大·张伯伦
2012年8月23日在6:13

@AlexChamberlain当然

– John La Rooy
2012年8月23日下午6:20

@AlexChamberlain此答案说明如何设置无密码的密钥。那就是我所指的

–活动
2012年8月23日下午6:31