Linux 服务_SSH
介绍
ssh是一种用于安全远程登录和其他网络服务的协议。它是目前在 Linux 和类 Unix 系统中远程管理最常用的方式。通过ssh,可以加密地连接到远程主机,执行命令、传输文件、进行端口转发等操作。
开启服务
命令
systemctl start ssh验证,系统开启
22端口证明ssh服务启动。
配置文件
/etc/ssh/sshd_config
开启开机自启
systemctl enable ssh
windows 连接 kali Linux
命令(打开 Windows 的 cmd 终端)
ssh 用户名@kali的IP地址 #第一次连接需要主动输入 yes,往后不再需要。
exit #退出连接

centos 连接 kali Linux
同 windows 连接 kali Linux 相同。
第三方 ssh 客户端连接 kali Linux
原理相同,在对应位置输入主机 IP、用户、密码等即可连接。
一些软件列表
无密码,公钥登陆
功能:在 Linux 系统中配置 无密码 ssh 公钥登录,可以让不输入密码的情况下远程登录服务器,是一种更安全、自动化程度更高的方式。
原理:
首先生成密钥对(遵循非对称加密算法(如 RSA、ED25519 等)),公钥可以公开,私钥必须保密。
公钥置于服务器,私钥在本地。
SSH 客户端 向远程服务器发起连接请求。
远程服务器检测到该用户的
~/.ssh/authorized_keys中存在公钥。服务器从该公钥中提取加密信息,向客户端发出一个 加密挑战(challenge)。
本地 ssh 客户端 使用私钥对该挑战进行解密或签名(证明自己持有正确的私钥)。
服务器验证签名是否与公钥匹配。
如果匹配,则认证通过,允许登录;否则拒绝。
生成密钥
ssh-keygen -t rsa #用 rsa 生成密钥对
公钥位置
将公钥保存到
/root/.ssh/authorized_keys
cat /home/kali/.ssh/id_rsa.pub > /root/.ssh/authorized_keys私钥传输
切换目录到文件
id_rsa所在的目录。通过
python -m http.server命令,在当前目录开启 8000 端口用于其他客户端对文件的下载。
在客户端上执行命令下载私钥。
wget http://kali的IP地址:8000/id_rsa
修改私钥权限登陆

如上图所示,表明私钥权限不对,无法无密码登陆,需要修改私钥权限。
chmod 600 id_rsa
修改私钥权限为 600 即可成功实现无密码登陆。
Windows cmd 无密钥登陆
同样可以通过在服务端的
python -m http.server命令进行私钥的传输。开启服务后,直接在 Windows 上的浏览器下载(http://服务端IP地址:8000/id_rsa)即可。
下载后登陆发现同样会显示
bad permissions,表面私钥权限不正确,需修改。在 Windows 修改私钥权限步骤:
右键私钥文件的 属性 进入属性选项栏。
单击 安全,进入后单击 高级 进入高级安全设置界面。
单机 禁用继承,并在弹出的复选框中选择“从此对象中删除所有已继承的权限”。

随后单机 添加,在弹出的权限项目框中单击 选择主体 添加对象。
添加的对象可以通过在 cmd 中使用
whoami命令查询,添加成功后单机 检查名称(若成功,则名称下方会出现一条横线)。
最后一路确定即可修改完成。
此时再次尝试在 cmd 中无密钥登陆即可成功。

第三方 ssh 客户端无密钥登陆
新建会话。
在输入密码的复选框中选择修改好权限的密钥文件即可(各个第三方 ssh 客户端原理大体相同)。

此时即可实现无密钥登陆。
评论区