虚拟机-term2免密登录虚拟机

本文详细介绍如何通过生成密钥对实现SSH免密登录。包括本地密钥的创建、公钥上传及配置、禁用密码登录等步骤。适用于希望提高远程登录效率的用户。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.本机创建密钥

$ ssh-keygen -t rsa

   后面可加-P表示密码,-P '' (-P后面两个单引号)就表示空密码,
   也可以不用-P参数,这样就要三车回车,用-P就一次回车。
   
   在~/.ssh下生成id_rsa和id_rsa.pub
   
2. 将公钥上传到服务器,并配置

$ scp ~/.ssh/id_rsa.pub root@192.168.31.100:~/

输登录密码

$ mkdir .ssh

$ cat id_rsa.pub >> .ssh/authorized_keys

$ chmod 600 .ssh/authorized_keys #设置authorized_keys权限为600

$ systemctl restart sshd # 重启sshd服务

3. 在本机上(与第一步的主机相同)配置

$ sudo ssh-agent bash --login -i

$ ssh-add ~/.ssh/id_rsa

$ ssh root@192.168.31.100 # 发现不需要密码可以登录了

4. 禁用服务器上的root密码登录

$ vi /etc/ssh/sshd_config

修改 PasswordAuthentication 为 no

$ systemctl restart sshd

换个机器用密码登录看看, 发现如下

[root@localhost ~]# ssh root@192.168.31.101
Permission denied (publickey,gssapi-keyex,gssapi-with-mic). 

转载于:https://www.cnblogs.com/yixiaoyi/p/xu-ni-jiterm2mian-mi-deng-lu-xu-ni-ji.html

### 设置并测试虚拟机中的 SSH 免密登录 #### 1. 配置 SSH 公钥与私钥 在每台虚拟机上生成 SSH 密钥对。可以通过 `ssh-keygen` 命令来创建 RSA 类型的密钥对,建议使用 `-t rsa -b 4096` 参数以提高安全性。 ```bash ssh-keygen -t rsa -b 4096 ``` 此命令会在默认路径 `~/.ssh/` 下生成两个文件:`id_rsa`(私钥)和 `id_rsa.pub`(公钥)。如果希望保持简单操作,可以直接连续按下回车键,接受默认选项以及不设置密码保护[^2]。 #### 2. 复制公钥至目标虚拟机 为了使一台虚拟机能够无密码访问另一台虚拟机,需要将源虚拟机的公钥复制到目标虚拟机的 `authorized_keys` 文件中。有多种方式可实现这一目的: - **方法一:使用 `ssh-copy-id`** 运行如下命令,将本机的公钥传输到远程虚拟机: ```bash ssh-copy-id username@remote_host_ip ``` 替换其中的 `username` 和 `remote_host_ip` 为目标虚拟机的具体用户名及其 IP 地址。首次连接时可能被提示输入目标用户的密码,随后即完成配置[^2]。 - **方法二:手动复制** 如果环境中缺少 `ssh-copy-id` 工具,则可通过以下步骤手动添加公钥: 1. 查看本地公钥内容 ```bash cat ~/.ssh/id_rsa.pub ``` 2. 登录到目标虚拟机,并编辑其 `.ssh/authorized_keys` 文件,追加刚才获取的公钥字符串。 ```bash mkdir -p ~/.ssh echo "public_key_content_here" >> ~/.ssh/authorized_keys chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys ``` 此处 `"public_key_content_here"` 应替换为实际的公钥内容[^3]。 #### 3. 测试免密登录 完成上述配置后,在原虚拟机尝试通过 SSH 访问目标虚拟机,验证是否无需再次提供密码即可成功登录。 ```bash ssh username@remote_host_ip ``` 正常情况下应能立即进入目标系统的 shell 环境而不弹出任何认证请求对话框[^5]。 对于 Hadoop 等分布式计算框架而言,通常还需要进一步确认集群内部节点间的互信关系建立情况。比如让 Master 节点不仅自己具备对外部 Slave 节点的无障碍访问能力,同时也允许各个 Slave 成员之间相互自由通信[^4]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值