- A+
在树莓派上学习C#和Linux: 配置SSH
官方文档:https://www.raspberrypi.com/documentation/computers/remote-access.html#ssh
运行命令行输出IP
在树莓派的控制台输入hostname -I 得到IP地址
也可以使用mDNS解析raspberrypi.local
在Windows 下的powershell中输入ping raspberrypi.local
安装nmap 命令 用于扫描局域网的设备
如果是动态IP分配则需要这个静态不需要
下载链接:https://nmap.org/download.html
获取到局域网IP,然后在Windows端的Powershell中输入指令,我的网段是192.168.1.* 所以我的指令是: nmap -sn 192.168.1.0/24
枚举结果如下:
MAC Address: B8:27:EB:8B:DD:EC (Raspberry Pi Foundation)
Nmap scan report for 192.168.1.8
或者在你的Powershell中输入arp -a 找到你的树莓派设备设备;
添加SSH文件
1、在windows的Powershell中在一个路径下执行new-item ssh -type file 创建ssh空白文件
2、把SSH文件拷贝到树莓派内存卡的根目录中,然后把卡插入树莓派。
3、启动重启树莓派
设置树莓派的SSH服务器
Raspberry Pi OS 默认禁用 SSH 服务器
可以使用 raspi-config 应用程序从终端启用它
以下1-6步骤在树莓派中操作:
- 在终端窗口中输入sudo raspi-config
2.选择Interfacing Options
3.导航到并选择SSH
4.选择Yes
5.选择Ok
6.选择Finish
注意
对于无外设设置,可以通过将名为 的文件(不带任何扩展名)放在 SD 卡的启动分区上来启用 SSH。当 Raspberry Pi 启动时,它会查找文件。如果找到,则启用 SSH 并删除文件。文件的内容无关紧要;它可以包含文本,也可以什么都不包含。sshssh
注意
对于无头设置,除了文件之外,您还需要一个文件,其中包含一个字符串。请参阅有关Raspberry Pi的无头设置的讨论中有关配置用户的部分。sshuserconf.txtusername:encryptedpassword
警告
在可能连接到互联网的树莓派上启用 SSH 时,您应该确保您的密码不容易被暴力破解。
更改树莓派文件
这里有点曲折 我最后直接选择使用了root
如果树莓派没有设置密码的话使用
在树莓派的控制台中使用sudo passwd 设置密码
切换账号如下 sudo su root 或者sudo su duwenlong
sudo nano /etc/ssh/sshd_config
把PasswordAuthentication的#号去掉
Port 22的#号去掉
PermitRootLogin 添加yes 不要带#号
我最后又在文件的末尾添加了AllowUsers root
保存退出
然后在根目录添加 touch /.ssh
设置权限chmod 700 ~/.ssh
sudo service ssh restart
然后使用 ssh root@192.168.1.23 yes yes 就连上了。
期间很多很多的问题端口的注释没有开,先使用Telnet 192.168.1.23 22 看端口号是否打开。发现没有打开。
service ssh status 检查SSH服务是否正在运行。service ssh start 可以启动它。netstat tuln | grep 22检查22端口是否已经开放
现在可以局域网连接啦。只是目前这样设置是不安全的。但是可以开始下一步编写C#程序和连接外设了。