使用ssh登录远程 ssh -p 2222 root@xx.xx.xx.xx 但是每次都要输入密码 需要改为证书验证 第一步 本地生成证书 ssh keygen 什么命令 ssh-keygen -t rsa -b 2048 -C "这里是注释,随便填就行" 如果.ssh文件夹不存在,要自己创建(.开头的文件夹怎么创建自己度娘去) 最后生成一个 id_rsa 和id_rsa_pub的一个私钥 一个公钥 第二步 把公钥放到服务器的 家目录下的 ~/.ssh/authorized_keys里面 可以手动复制了,到服务器手动创建.ssh文件夹 authorized_key文件 然后使用vim编辑插入 记得要使用chmod 700 .ssh chmod 600 authorized_keys
也可以用下面的命令直接就能传过去 不用自己编辑
描述:ssh-copy-id 是一个实用ssh去登陆到远程服务器的脚本。它也能够改变远程用户名的权限,
如~/.ssh和~/.ssh/authorized_keys 删除其写的权限,所以一般~/.ssh给予700,~/.ssh/authorized_keys 给予600权限。
也可以使用第三步的命令一键搞定 使用普通用户推送公钥的时候如果两边的用户不同,一定要带上用户,不能默认 ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.10.221 这个命令就相当于把当前的公钥放到服务器 ~/.ssh/authorized_keys里面 不同用户 如果有改了ssh端口的要加上端口 ssh-copy-id -p 2222 -i ~/.ssh/id_rsa.pub wang@xx.xx.xx.xx
使用非22端口传输公钥 如果我们使用ssh-copy-id -p 58422 test@192.168.246.130进行公钥传输,则会出现如下报错信息: ssh-copy-id使用及非默认22端口时报错 解决方法: 方法一: [root@ceshiji .ssh]# ssh-copy-id "-p 58422 root@192.168.246.129" 方法二: 修改全局配置文件: [root@ceshiji .ssh]# vim /etc/ssh/sshd_config Port 58422 方法三: [root@ceshiji ~]# vim ~/.ssh/config 加上内容: Host server Hostname ip Port 58422 如果执行报错 Bad owner or permissions on /root/.ssh/config 则需要修改权限以符合安全策略 [root@ceshiji ~]# cd .ssh [root@ceshiji .ssh]# chmod 700 . [root@ceshiji .ssh]# ll -d drwx------ 2 root root 4096 11月 30 12:38 . 最后,为了使用方便,推荐使用方法一!