su - root
ssh-keygen -t rsa
A
[sjfuser@jenkins ~]$ ll /root/.ssh/
-rw-------. 1 sjfuser sjfuser 1671 4月 19 05:10 id_rsa
-rw-r--r--. 1 sjfuser sjfuser 398 4月 19 05:10 id_rsa.pub
-rw-r--r--. 1 sjfuser sjfuser 417 4月 19 05:08 known_hosts
B
-rw------- 1 root root 1217 Apr 21 10:46 /root/.ssh/authorized_keys
将此公钥写入任何一台远程主机的/root/.ssh/authorized_keys后,便可通过密钥登陆到远程主机。
任何一台主机,拿到该密钥id_rsa后,便可登陆写入了该公钥id_rsa.pub的主机。
如果添加指纹的时候提示添加失败,是因为你以前添加过了这个ip的指纹。
解决办法:将.ssh目录的known_hosts文件删除掉。也可以打开这个文件把对应ip的那条记录删除。
https://blog.csdn.net/qq_30059235/article/details/103890477
https://blog.csdn.net/fireofjava/article/details/40624215
您好,要不使用免密登录Linux,您需要做以下步骤:1. 在Linux系统中,使用su命令切换到root用户,或者使用sudo命令以root用户权限执行 *** 作。
2. 使用visudo命令编辑/etc/sudoers文件,将其中的“Defaults requiretty”行注释掉,以允许远程登录时不使用免密登录。
3. 使用ssh-keygen命令,在本地生成一对公钥和私钥,将公钥复制到服务器的~/.ssh/authorized_keys文件中,以允许远程登录时不使用免密登录。
4. 使用chmod命令,将~/.ssh/authorized_keys文件的权限设置为600,以确保安全性。
5. 使用ssh命令,以指定的私钥登录服务器,以允许远程登录时不使用免密登录。
以上就是不使用免密登录Linux的方法,希望能够帮助您。
ssh-keygen 命令 用于为“ssh”生成、管理和转换认证密钥,它支持RSA和DSA两种认证密钥。SSH 密钥默认保留在 ~/.ssh 目录中。如果没有 ~/.ssh 目录,ssh-keygen命令会使用正确的权限创建一个。
执行完命令后,会有几个选项给你选择,一般来说直接回车,使用默认配置即可。需要注意的是, 如果本身服务器已经生成过ssh秘钥了,这一步可以省略
想知道秘钥曾经生成过,可以看步骤二。
正常来说,如果 ssh-keygen 命令执行成功,我们可以在目录中看到有 id_rsa (存放私钥)和 id_rsa.pub (存放公钥)两个文件
先简单介绍一下 ssh-copy-id 命令
ssh-copy-id 命令可以把本地主机的公钥复制到远程主机的 authorized_keys 文件上。authorized_keys 文件用来验证 client 。使用 ssh-copy-id 命令将本地公钥复制到远程主机之后可以实现免密登录远程主机。如果不传入 -i 参数, ssh-copy-id 使用默认 ~/.ssh/identity.pub 作为默认公钥。 如果多次运行 ssh-copy-id ,该命令不会检查重复,会在远程主机中多次写入 authorized_keys 。
注意,本地 ~/.ssh/id_rsa 的权限,chmod 400 ~/.ssh/id_rsa ,该文件包含用于授权的私钥, 如果该文件可以被其他用户访问,ssh 会忽略该私钥。
执行完上述命令后,我们后续就可以免密登录其他服务器了。
如果需要配置免密登录的服务器比较多,我们可以通过脚本来解决这些重复性的动作。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)