SSH以进行远程登录
在Kali Linux中启用SSH以进行远程登录,请按照以下步骤操作:
-
安装SSH服务:sudo apt update
sudo apt install openssh-server 已安装可忽略 -
sudo systemctl start ssh 启动SSH服务
-
sudo systemctl enable ssh 确保SSH服务设置为开机启动:
-
(可选)如果需要配置SSH设置,编辑
/etc/ssh/sshd_config
文件: sudo nano /etc/ssh/sshd_config -
重启SSH服务以应用更改:sudo systemctl restart ssh
-
确认SSH服务正在运行:sudo systemctl status ssh
-
如果有防火墙正在运行,允许SSH端口(默认为22):sudo ufw allow ssh
-
现在,您应该能够从远程客户端使用SSH来登录Kali Linux机器。使用以下命令:ssh [username]@[kali-ip-address] 其中
[username]
是您的Kali Linux用户名,[kali-ip-address]
是Kali Linux机器的IP地址 例如ssh -p 端口号 用户名@服务器IP地址
。
免登录 在后面哦
3 登录
在本地终端执行:
ssh kali 即可成功免密登录。
固定ip
以下是亲身配置后的效果图
配置完后,测试外网连通性
ping -c 4 www.baidu.com
发送4个包接收4个包,0个丢包
网络正常
虚拟机页面也显示了固定的ip地址
接下来就一起来看看配置过程吧
1.sudo vim /etc/network/interfaces
光标定位到 iface lo inet loopback这一行,然后按字母o键,再回车
输入如下代码
auto eth0
iface eth0 inet static
address 192.168.3 设置的静态ip
netmask 255.255.255.0
gateway 192.168. 网关
编辑完,按esc键再按shift+:输入wq保存退出
119.29.29.29是腾讯的公共DNS
223.5.5.5是阿里的公共DNS
然后还要去修改一个dns生效的文件
vim /etc/resolv.conf
把默认的nameserver 192.168.改成腾讯、阿里的DNS
配置完IP信息后,我们重启Kali的网络服务,让网络配置生效
重启网络服务之前需要关闭NetworkManager,并且禁止该服务开机自启
注:关闭NetworkManager服务,该服务是网络服务的图形管理工具,该服务会自动接管networking服务,有可能造成重启networking服务时配置不生效的问题
systemctl stop NetworkManager
systemctl disable NetworkManager
再重启Kali网络服务
systemctl restart networking
查看IP配置是否成功 ifconfig eth0
IP地址没有变化,如果是首次更改IP配置,然后重启网络服务,IP 地址没生效属于正常情况,再重启一次就行 systemctl restart networking
免登录
进入本地终端:生成ssh秘钥和公钥文件
ssh-keygen -t rsa
出现如下图所示,这时候请不要一直回车,输入相应的文件名称,因为不输入的话是默认生成id_rsa和id_rsa.pub两个文件。然而,由于很多人其实在本地配置了GitHub的钥匙,因此会存在这样的文件,所以在这里我们需要改个名 如下图
输入完钥匙文件名称后,会在目录生成以下两个文件
把文件中的公钥复制到远程主机的~/.ssh/authorized_keys中,如果没有这个文件,那么请创建一个新的。
将XXx.pub文件内容复制到远程主机 ~/.ssh/authorized_keys文件中
查看内容 cat XXx.pub
创建 sudo vim ~/.ssh/authorized_keys
如果无此目录
创建目录
再次编辑新建文件,成功创建
sudo vim ~/.ssh/authorized_keys
sudo cat ~/.ssh/authorized_keys 查看文件内容
ssh-copy-id -i id_rsa.pub user@host
# user远程服务器的用户名,host是远程服务器ip地址。
还没完
2 配置config文件
同样进入到本地 .ssh目录
cd ~/.ssh/
vim config
按如下格式修改目录下的config文件。有几个主机就可以配置几个,但是本地的xxx.pub内的公钥内容一定记得复制到远程主机的~/.ssh/authorized_keys中。
# 远程主机别名
Host kali
#远程主机ip或域名
HostName 192.168.63.8
# 你在远程主机的用户名
User zhangsan
Port 22
# 你的ssh秘钥文件
IdentityFile ~/.ssh/kali_ssh
以下可忽略 对于多主机
Host workhost1
HostName 192.168.63.9
User zhangsan
Port 22
IdentityFile ~/.ssh/id_ssh
最重要的一步
ssh-add(mac与其他系统的区别在这里)
mac比其他系统多一步操作才能顺利免密登录:
ssh-add -K [你的私钥文件,就是那个不加.pub结尾的文件]
# 例如,ssh-add -K kali_ssh
ssh “permissions are too open”
如果执行上一步报错:
问题原因出在私钥文件权限有限制。所以要更改权限:
chmod 600 ~/.ssh/[私钥文件]