前言
如果要长期连接Linux环境,就需要给Linux配置一个静态IP,否则可能每次连接的IP都不一样而且还很麻烦。
除此之外,我们使用ssh远程登录的时候,每次都要输入密码,也很麻烦,所以建议配置ssh密钥,以后每次登录只需要输入 ssh xxx@ip
就可以直接登录。
最后,如果还嫌每次输入ip麻烦,就可以将Linux的IP填写到windows的 /etc/hosts
下,自定义一个好记的名称,以后每次用ssh xxx@linux_name
就可以直接登陆,岂不很方便?
Linux静态IP配置
本文使用的环境是树莓派4B作Linux开发机,其它环境可自行百度静态IP配置的方法。
- 远程登录Linux主机,或者直接在Linux主机上操作
# 编辑 /etc/dhcpcd.conf 文件
sudo vim /etc/dhcpcd.conf
- 在
/etc/dhcpcd.conf
文件末尾添加如下内容,加入关于静态IP的配置
interface eth0
static ip_address=192.168.1.100/24
static routers=192.168.1.1
static domain_name_servers=114.114.114.114
interface wlan0
static ip_address=192.168.1.101/24
static routers=192.168.1.1
static domain_name_servers=114.114.114
其中,
eth0是有线配置(即插网线),
wlan0为无线配置(即使用WIFI连接)
ip_address=192.168.1.101/24 是静态IP
static routers=192.168.1.1 是网关
domain_name_servers=114.114.114.114 是DNS
一般只需要修改 ip_address
和 static routers
这两个字段的值;
static routers
填写网关地址,不知道自己网关地址是多少的话,在修改这个文件前,输入ifconfig
查看broadcast
字段,将最后一个数替换为1就是网关地址。比如我的网关就是192.168.31.1
。
ip_address
值的格式为 ip/24
,将ip替换为自己想用的ip,注意,不要和已占用的ip发生冲突。
3. 重启Linux主机
sudo reboot
Windows配置ssh密钥登录
- 在Windows上生成公钥和私钥
cd 进入C盘的users路径下,选择当前用户目录,并且进入.ssh目录
cd c:\users\87866\.ssh # 87866 是我的用户目录
ssh-keygen -t rsa # 生成公钥和私钥,一路回车即可
最后会生成两个文件 id_rsa,id_rsa.pub
。以.pub
结尾的是公钥,另一个是私钥。
用记事本打开 id_rsa.pub
,复制里面的内容。
2. 在Linux主机上复制公钥内容
在要远程登录到的用户目录下,(如果没有)创建.ssh目录,在该目录下创建authorized_keys
文件,然后将windows上复制的id_rsa.pub的内容,复制到authorized_keys
里。
cd ~/
mkdir -p .ssh
cd .ssh
vim authorized_keys
# 文件打开后,复制公钥内容
- 重启Linux主机的ssh以及sshd服务
sudo systemctl restart ssh
sudo systemctl restart sshd
- Windows主机远程连接
windows 自定义 Linux 域名
打开 C:\Windows\System32\drivers\etc\hosts
最后一行加入192.168.31.201 gyy_pi
,前面的ip是上面设置的Linux静态ip,后面的gyy_pi是自定义域名,自行修改为自己想设置的。
然后在windows命令行中输入ssh gyy@gyy_pi
即可免密远程登陆Linux主机。