Administrator
发布于 2024-03-06 / 17 阅读
0
0

sshd

SSH免密登录

现在有2台机器,10.206.0.8 和 10.206.0.9.

现在希望能在0.8上,直接通过ssh免密的方式,登录到0.9服务器上。


需要用到2个命令:
ssh-keygen 产生公钥与私钥对.
ssh-copy-id 将本机的公钥复制到远程机器的authorized_keys文件中


1.在0.8上,运行以下命令查看密钥是否存在:

 ls ~/.ssh/id_rsa.pub

如果看到 No such file or directory 或 no matches found 意味着没有 SSH 密钥,则可以继续执行下一步并生成新密钥

2.(可选)在0.8上,运行以下命令生成 SSH 公钥和私钥:

ssh-keygen -t rsa


Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.

按 Enter 接受则默认文件位置和文件名:

Enter file in which to save the key(/home/yourusername/.ssh/id_rsa):

接下来,ssh-keygen 工具将要求输入安全密码(如果不想使用密码短语,请按 Enter:),您如果选择使用密码短语,将获得额外的安全保护。多数情况下,开发人员和系统管理员使用 SSH 而不使用密码,因为它们对完全自动化的流程很有用。

3.将上一步生产的公钥(id_rsa.pub),复制到目标机器的 authorized_keys 文件中:

ssh-copy-id -i ~/.ssh/id_rsa.pub remote_username@server_ip_address

ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.206.0.9

系统将提示输入 remote_username 的密码:

用户通过身份验证后,公钥将附加到远程用户 authorized_keys 文件,并且将关闭连接。

4.验证

ssh remote_username@server_ip_address

ssh root@10.206.0.9

Linux中禁止root用户通过sshd直接登录

adduser jshxhb
passwd jshxhb

vi /etc/ssh/sshd_config

#PermitRootLogin yes:
将前面的#去掉,短尾Yes改为no,保存退出。

重启sshd服务

systemctl restart sshd

测试

使用root登录,被拒绝

ssh 用户名@主机ip 端口号

ssh root@192.168.10.99 10022

评论