ssh-copy-id三步实现SSH无密码登录和ssh常用命令

转载自https://blog.csdn.net/liu_qingbo/article/details/78383892

sh-keygen  产生公钥与私钥对.

ssh-copy-id 将本机的公钥复制到远程机器的authorized_keys文件中,ssh-copy-id也能让你有到远程机器的home, ~./ssh , 和 ~/.ssh/authorized_keys的权利


第一步:在本地机器上使用ssh-keygen产生公钥私钥对

  1. $ ssh-keygen
     

第二步:用ssh-copy-id将公钥复制到远程机器中

$  ssh-copy-id -i .ssh/id_rsa.pub  用户名字@192.168.x.xxx

注意: ssh-copy-id 将key写到远程机器的 ~/ .ssh/authorized_key.文件中

第三步: 登录到远程机器不用输入密码

  1. $  ssh 用户名字@192.168.x.xxx
  2.  
  3. Last login: Sun Nov 16 17:22:33 2008 from 192.168.1.2

常见问题:

  1. ssh-copy-id -u eucalyptus -i ~eucalyptus/.ssh/id_rsa.pub ssh 用户名字@192.168.x.xxx
  2. 第一次需要密码登录

上述是给eucalyptus用户赋予无密码登陆的权利

  1. /usr/bin/ssh-copy-id: ERROR: No identities found

使用选项 -i ,当没有值传递的时候或者 如果 ~/.ssh/identity.pub 文件不可访问(不存在), ssh-copy-id 将显示上述的错误信息  ( -i选项会优先使用将ssh-add -L的内容)

`ssh-copy-id`是一个Linux命令行工具,用于自动添加SSH公钥到远程服务器的 authorized_keys 文件中,这样你就可以无需输入密码直接从本地登录该服务器。这个命令通常在SSH密钥对生成并配置完毕后使用。 以下是使用 `ssh-copy-id` 的基本步骤: 1. **生成SSH密钥对**:在本地计算机上打开终端,运行 `ssh-keygen` 命令创建一个新的SSH密钥对,可以选择文件路径保存私钥。 ```sh $ ssh-keygen -t rsa ``` 2. **查看公钥内容**:键入 `cat ~/.ssh/id_rsa.pub` 或者你指定的公钥路径,复制公钥内容。 3. **连接到远程服务器**:首先需要通过SSH登录一次目标服务器,并授权将公钥添加到`authorized_keys`。 ```sh $ ssh user@remote_server The authenticity of host 'remote_server (IP)' can't be established. RSA key fingerprint is SHA256:...abcdef. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'remote_server' (RSA) to the list of known hosts. ``` 4. **粘贴公钥并保存**:此时按提示输入 `yes` 确认信任并输入回车,然后在本地终端粘贴公钥的内容,按Enter确认,系统会自动保存到`~/.ssh/known_hosts`和`~/.ssh/authorized_keys`。 5. **使用`ssh-copy-id`命令**:回到本地,运行 `ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote_server` 将公钥复制到远程服务器。 完成以上步骤后,你应该可以在未输入密码的情况下,无交互地从本地机器SSH登录远程服务器了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值