ssh密钥登陆

ssh密钥登陆

创建密钥对

使用命令ssh-keygen

┌──(kali㉿kali)-[~] └─$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/kali/.ssh/id_rsa): Created directory '/home/kali/.ssh'. //这里提示是否要口令,直接回车就不需要密码验证 Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/kali/.ssh/id_rsa Your public key has been saved in /home/kali/.ssh/id_rsa.pub The key fingerprint is: SHA256:r1yPaIzk0ez5IY8HKKAawT43hVX7fqZkArJf9geezOc kali@kali The key's randomart image is: +---[RSA 3072]----+ | .. | | . . | |. o . | |.... . . | |.o o.. +S. | |oo o+ = =o | |..o..+ O=**o | |. . =.X%=* | | . .==BE. | +----[SHA256]-----+

之后密钥对就生成在home目录对应用户目录下了

┌──(kali㉿kali)-[~/.ssh] └─$ ls id_rsa id_rsa.pub

将公钥放到要登陆的机子上

这对密钥是可以作为任意两台机子的验证密钥,而不是单单这一台

所以明确自己要登陆的是哪台机子,把公钥传到远程机子上

私钥保留在自己操作的机子上

这里我要登陆的是kali机,公钥本来就在这里生成的所以不用碰

要做就是将公钥添加到authorized_keys

┌──(kali㉿kali)-[~/.ssh] └─$ cat id_rsa.pub >> ~/.ssh/authorized_keys ┌──(kali㉿kali)-[~/.ssh] └─$ ls authorized_keys id_rsa id_rsa.pub

赋予权限

chmod 600 ~/.ssh/authorized_keys

启用公钥认证机制

查看kali机配置sshd_config

┌──(kali㉿kali)-[~/.ssh] └─$ sudo vi /etc/ssh/sshd_config

启用下面这一项

PubkeyAuthentication yes       # 公钥登录

保存退出,重启ssh

┌──(kali㉿kali)-[~/.ssh] └─$ /usr/sbin/sshd restart Extra argument restart.

成功登陆

Xshell

把私钥下载到本地

下载后要保存好不能让别人知道

登陆的时候就用这个私钥文件

image-20220908090752050

成功登陆

image-20220908090928183

Linux terminal

还是把私钥下载到本地

ssh -i path/id_rsa root@172.20.10.11

注意

安全起见就不能给id_rsa太大的权限,不然别的用户就可以随意看私钥

连接时会被提醒

“Permissions 0644 for ‘/root/.ssh/id_rsa’ are too open” 要你输密码验证之类的

权限太大就会触发ssh的保护机制

更改权限为600即可

成功登陆

┌──(rootkali)-[~] └─# ssh -i id_rsa kali@172.20.10.11 Linux kali 5.10.0-kali9-amd64 #1 SMP Debian 5.10.46-4kali1 (2021-08-09) x86_64 The programs included with the Kali GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Kali GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Wed Sep 7 21:11:56 2022 from 172.20.10.12 ┏━(Message from Kali developers) ┃ We have kept /usr/bin/python pointing to Python 2 for backwards ┃ compatibility. Learn how to change this and avoid this message: ┃ ⇒ https://www.kali.org/docs/general-use/python3-transition/ ┗━(Run: “touch ~/.hushlogin” to hide this message) ┌──(kali㉿kali)-[~] └─$

拓展

linux主机通过ssh每连接一个新的机子,就会在~/.ssh/known_hosts 文件下添加该新机子的公钥,在下一次连接该机子时会核对公钥。如果公钥不同,OpenSSH会发出警告, 避免你受到DNS Hijack之类的攻击


__EOF__

本文作者DAMOXILAI
本文链接https://www.cnblogs.com/damoxilai/p/16672336.html
关于博主:网安小萌新一名,希望从今天开始慢慢提高,一步步走向技术的高峰!
版权声明:达摩西来
声援博主:达摩西来
posted @   DAMOXILAI  阅读(776)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示