使用SSH无密码验证访问树莓派

让你的计算机每次连接树莓派都不需要输入密码是可以实现的,你只需要生成一个SSH key。

1、CHECK FOR EXISTING SSH KEYS(检查已存在的SSK key)

首先,检查你的计算机(你用来连接树莓派的设备)是否已经有SSH key:

ls ~/.ssh

如果你看到像id_rsa.pub或者id_dsa.pub这样的文件,那么你就已经配置好key了。你可以直接跳过生成key这个步骤(或者使用rm id*命令删除这些文件,然后重新生成key)。

2、GENEERATE NEW SSH KEYS(生成新的SSH key)

生成一个新的SSH Key可以输入以下命令(选用一个类似“<你的名字>@<你的设备>”这样可辨识的主机名,这里我们使用[email protected]):

ssh-keygen -t rsa -C [email protected]

你也可以使用引号来添加更加详细的带有空格描述,例如ssh-keygen -t rsa -C "Raspberry Pi #123"

输入上面的命令之后,你要被要求输入保存key的位置。我们建议你直接回车使用默认的路径(/home/XXX/.ssh/id_rsa)。

你也会被要求输入一个密码。这是一种附加的安全保障,确保在没有你的密码情况下无法使用你的key。这样,即使有人复制了你的key,他们也没有办法冒充你进行访问。如果你要使用一个密码,则输入这个密码然后回车,之后根据提示再输入密码确认一次。如果直接回车什么都不输入则表示不使用密码。

现在你应该就能在你的home目录下的.ssh文件夹中看到id_ras和id_ras.pub这样的文件:

ls ~/.ssh
authorized_keys  id_rsa  id_rsa.pub  known_hosts

这里的id_rsa文件就是你的私有key,将这个key继续保存在你的计算机上。id_rsa.pub文件是你的公共key,你需要把这个可以放到你想要连接的设备上。当你想要连接的设备匹配你的公共key和私有key成功,它就会允许你访问。

输入以下命令查看你的公共key内容:

cat ~/.ssh/id_rsa.pub

公共key的格式应该如下:

ssh-rsa <REALLY LONG STRING OF RANDOM CHARACTERS> [email protected]

3、COPY YOUR PUBLIC KEY TO YOUR RASPBERRY PI(将你的公共Key复制到你的树莓派上)

将你的公共key复制到你的树莓派上,在你的计算机终端上使用下面命令将公共key附加到你的树莓派上的authorized_keys文件,发送是通过SSH实现(将其中USERNAME和IP-ADDRESS替换为树莓派上的用户名和树莓派的IP):

cat ~/.ssh/id_rsa.pub | ssh <USERNAME>@<IP-ADDRESS> 'cat >> .ssh/authorized_keys'

注意这次你仍然需要验证你的密码。

现在尝试使用ssh <USER>@<IP-ADDRESS>命令,你应该可以不需要密码直接就能连接上去。

如果你看见“Agent admitted failure to sign using the key”信息,你需要将你的RSA或者DSA标识添加到认证代理上,执行以下命令使用ssh-agent:

ssh-add

如果这仍然不起作用,使用rm ~/.ssh/id*命令删除你的key,然后根据本文档重新配置一遍。

通过SSH发送文件,你同样可以使用scp命令(安全复制)。参考SCP 指南获取更多信息。

付:SCP 指南 ——

scp是一个通过SSH发送文件的命令。这意味着你可以在两台计算机之间发送文件,也就是说可以在你的树莓派和桌面计算机或者笔记本之间互相发送文件。

原文地址:http://www.raspberrypi.org/documentation/remote-access/ssh/passwordless.md

时间: 2024-10-09 08:33:35

使用SSH无密码验证访问树莓派的相关文章

SSH无密码验证

一.安装和启动SSH协议 sudo yum install ssh sudo yum install rsync service sshd restart 启动服务 (rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件) 确保所有的服务器都安装,上面命令执行完毕,各台机器之间可以通过密码验证相互登. Last login: Mon Oct 29 14:01:11 2012 from 10.196.80.99 [email protected]:~$ ssh local

Linux(CentOS)SSH无密码验证登陆

最近在搭建Hadoop集群,为了操作方便,需要Master用无密码验证的方式的SSH登陆Slave. 1.原理: Master作为客户端,要实现无密码公钥认证,连接到服务器Salve上时,需要在Master上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到所有的Salve上.当Master通过SSH链接到Salve上时,Salve会生成一个随机数并用Master的公钥对随机数进行加密,并发送给Master.Master收到加密数之后再用私钥解密,并将解密数回传给Salve,Salve确认

SSH无密码验证配置

一. 准备工作 首先要确保你的linux系统中已经安装了ssh,对于ubuntu系统一般默认只安装了ssh client,所以还需要我们手动安装ssh server: sudo apt-get install openssh-server 二. SSH基本原理 2.1 基本原理 SSH之所以能够保证安全,原因在于它采用了公钥加密.过程如下: 远程主机收到用户的登录请求,把自己的公钥发给用户: 用户使用这个公钥,将登录密码加密后,发送回来: 远程主机用自己的私钥,解密登录密码,如果密码正确,就同意

SSH无密码验证登录实现

原理:使用所需用户登录客户端,使用ssh-keygen生成用户主机私钥和密钥,并把客户端公钥上传到服务器端固定的文件中.当客户端通过ssh访问服务器端时,服务器端会生成一个随机数并用客户端的公钥对随机数进行加密,并发给客户端.客户端收到加密数后在使用私钥解密,并将解密数传给服务器端,服务器端确认解密无误后就允许客户端进行连接了. 作用:使用ssh登录主机是不需要输入密码.可以把scp 的指令放置于 crontab 服务中, 让我们的系统透过 scp 直接在背景底下自行 定期的进行网络复制与备份.

Linux配置ssh无密码验证,rsync

1.我先声明主机 pangzhiminglinux     192.168.200.129 CentOS2           192.168.200.130 方法大概是这样:如果想从pangzhiminglinux的普通用户无验证登录到CentOS2的普通用户(单方向的),那么就要在两个主机都建立一个相同名字,相同密码的普通用户hadoop,pangzhiminglinux登录到自己创的普通用户hadoop下,生成秘钥对,私钥不要密码,把公钥内容复制到hadoop家目录的.ssh/author

Linux下通过ssh-keygen和ssh-copy-id命令实现ssh无密码登录访问

一直想把自己的服务器的 SSH 认证的模式从用户名密码模式转换成 RSA 和 DSA 认证协议,借着OpenSSH 4.2的发布,今天写了一下配置过程并收集了一些关于 RSA 和 DSA 的参考文章. 思路整理:一直没有理解公匙模式下的认证过程,这里总结一下公匙和秘匙的制作和安置方法.以下假设一台服务器Server和一台PC作为例子.首先,并不是在服务器上生成公匙和秘匙.因为很多关于RSA 和 DSA 认证协议的文章都使用Linux服务器作为道具,自然也就使用诸如 ssh-keygen -t r

ssh 无密码验证配置

1.由root用户切换到hadoop 用户下 2.在根路径下(/home/hadoop)创建.ssh 文件 mkdir .ssh 3.生成密钥 ssh-keygen -t rsa -P "" 4.进入 .ssh目录下 cd .ssh 5.ls 查看 看里面有 了公钥和私钥 6.将公钥放入到 linux 认证里面 cp id_rsa.pub authorized_keys 7.ls 查看目录 里面有一个认证文件   authorized_keys 8. 查看具体内容 vi authori

ssh-keygen+ssh-copy-id 在linux下实现ssh无密码登录访问

ssh到192.168.88.61机器上,需要密码,这样对一些脚本工作不方便,因为需要密码,也就是需要人工干预.最近发现一个命令ssh-copy-id很方便,测试了一下,果然好用,记录下来: 在192.168.88.61机器上 1)运行:ssh-keygen -t rsa 2)然后拍两下回车(均选择默认) 3)运行: ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected] 4)再输入192.168.88.62机器上的root密码 此时,再ss

ssh 无密码验证

照写打一遍就OK cd - rm -rf .ssh ssh-keygen -t rsa -P '' cd .ssh cat id_rsa.pub  >> authorized_keys chmod 600 authorized_keys 一路回车 不敲入其他字符 执行一个 ssh-add