① linux生成的rsa秘钥在哪
方法一, 有的时候经常需要登录ssh,每次都需要输入密码,会比较繁琐。所以设置了一下使用RSA公钥认证的方式登录Linux。 首先需要在服务器端设置/etc/ssh/sshd_config # vim /etc/ssh/sshd_config 修改如下两行为yes。其实大多数情况下不用修改,默认就是yes。 RSAAuthentication yes PubkeyAuthentication yes (1) 如果客户机和服务器都是Linux机器,那么我们使用下面的方法:(后面第2节会提到怎么在Windows下使用Putty生成密钥对) 我们需要在客户端生成RSA密钥对。使用ssh-keygen命令: # ssh-keygen -t rsa 参数t的意思是type,后面跟着加密类型,这里我们是rsa。 然后会提示你输入密钥保存完成文件名,这里我们需要使用默认的id_rsa,之后才能正常才能登录。如果你生成的密钥作为其他用处,那么可以命名为其他名称: Generating public/private rsa key pair. Enter file in which to save the key (/home/cake/.ssh/id_rsa): 之后会提示你输入一个passphrase,我们这里可以留空,这样我们登录的时候就不许输入密码。 Enter passphrase (empty for no passphrase): Enter same passphrase again: 然后会提示你密钥生成成功。这是你的私钥保存为~/.ssh/id_rsa,你的公钥是~/.ssh/id_rsa.pub 我们现在需要做的是,把id_rsa.pub的内容,添加的服务器端的~/.ssh/autherized_keys文件最后。 你可以把这个文件上传到服务器端,然后使用命令: # cat id_rsa.pub >> ~/.ssh/autherized_keys 到这里就完成了。 (2) 在Windows下使用Putty生成密钥对: Putty的安装目录下有个puttygen.exe程序,我们运行这个程序。 之后点击Generate,开始生成密钥对。我们需要根据提示,在指定方框内随机滑动鼠标。这是为了根据鼠标轨迹,产生一些随机数据。 之后生成结束,我们点击Save Private Key将私钥存放在某个目录中。然后赋值最上面文本框中的全部内容,粘贴到Linux服务器端的autherized_key的最后。 我们现在可以关闭这个小程序。 现在打开Putty,在左边的选项中,选择Conneciton–SSH–Auth,在Private key file for authentication中,选择刚才保存的私钥路径就可以了。 到此位置,Putty也可以不用密码登录了。 方法二 使用Linux主机生成的密匙 1、生成密匙 [root@ .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. The key fingerprint is: e4:9a:47:a7:b4:8a:0b:98:07:b8:70:de:6b:16:2c:0croot@ 2、将 /root/.ssh/id_rsa.pub改名为/root/.ssh/authorized_keys [root@ .ssh]#mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys 3、将私钥id_rsa拷贝到远程客户端 1)、如果远程客户端是linux,拷贝到远程客户端/root/.ssh/即可 2)、putty作为远程客户端在 putty不能识别直接从服务器拷贝来的私钥,需要使用puttygen.exe进行格式转换 (1)、打开puttygen.exe --> Conversions --> Import Key (2)、选择拷贝过来的私钥文件id_rsa (3)、Save private key->id_rsa.ppk(保存私钥) 4、打开putty.exe 1)、Session --> Host Name (填写服务器地址或者域名) 2)、Connection --> SSH --> Auth (点Browse选择刚生成的id_rsa.ppk) 3)、open 成功打开后出现如下提示: login as: root Authenticating with public key "imported-openssh-key" ---------------------------------------------------------------------------------- 当然你有可能会遇到这个错误 [因为我遇到了,呵呵]: Permissions 0755 for '你配置的公钥文件路径' are too open. 这个是因为这几个文件权限设置的有点问题 执行命令: chmod 600 你的文件
② linux ssh rsa 生成的是什么东西
ssh-keygen创建的是一个rsa公钥
一般用于免密码登陆,将你的公钥放到linux上的指定目录下,然后登陆时会校验你的私钥和公钥对是否匹配,匹配就可以直接登陆了
私钥存放在你自己的电脑上,并需要保存好不能外泄
③ linux修改sshkey长度
题主是否想询问芦颂“linux怎么修改sshkey长度”?
1、首先检查SSHkeys是否存在饥乎ls-al~/.ssh。(若不是第一次更改,则会出现drwx-2wxwx4096)
2、输入[email protected]。
3、最后登录github。打开setting->SSHkeys,点击陪肢郑右上角NewSSHkey,把生成好的公钥id_rsa.pub放进key输入框中,再为当前的key起一个title来区分每个key,即可修改。
④ Linux 下设置SSH key登录
设置ssh key 登录有两个好处:
具体配置步骤如下:
注意,输入ssh-keygen后,会有提示,默认回车就行,最后生成秘钥:id_rsa和公钥id_rsa.pub
4. 将私钥拷贝出来,然后删除这两个文件
5. 配置xshell使用秘钥文件登录,如下图:
⑤ 如何使用SSH密钥方式登录Linux
我们一般使用 PuTTY 等 SSH 客户端来远程管理 Linux 服务器。但是,一般的密码方式登录,容易有密码被暴力破解的问题。所以,一般我们会将 SSH 的端口设置为默认的 22 以外的端口,或者禁用 root 账户登录。其实,有一个更好的办法来保证安全,而且让你可以放心地用 root 账户从远程登录——那就是通过密钥方式登录。
密钥形式登录的原理是:利用密钥生成器制作一对密钥——一只公钥和一只私钥。将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录。这样一来,没有私钥,任何人都无法通过 SSH 暴力破解你的密码来远程登录到系统。此外,如果将公钥复制到其他账户甚至主机,利用私钥也可以登录。
下面来讲解如何在 Linux 服务器上制作密钥对,将公钥添加给账户,设置 SSH,最后通过客户端登录。
1. 制作密钥对
首先在服务器上制作密钥对。首先用密码登录到你打算使用密钥登录的账户,然后执行以下命令:
[root@host ~]$ ssh-keygen <== 建立密钥对
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 Enter
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <== 输入密钥锁码,或直接按 Enter 留空
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. <== 公钥
The key fingerprint is:
0f:d3:e7:1a:1c:bd:5c:03:f1:19:f1:22:df:9b:cc:08 root@host
密钥锁码在使用私钥时必须输入,这样就可以保护私钥不被盗用。当然,也可以留空,实现无密码登录。
现在,在 root 用户的家目录中生成了一个 .ssh 的隐藏目录,内含两个密钥文件。id_rsa 为私钥,id_rsa.pub 为公钥。
2. 在服务器上安装公钥
键入以下命令,在服务器上安装公钥:
[root@host ~]$ cd .ssh
[root@host .ssh]$ cat id_rsa.pub >> authorized_keys
如此便完成了公钥的安装。为了确保连接成功,请保证以下文件权限正确:
[root@host .ssh]$ chmod 600 authorized_keys
[root@host .ssh]$ chmod 700 ~/.ssh
3. 设置 SSH,打开密钥登录功能
编辑 /etc/ssh/sshd_config 文件,进行如下设置:
RSAAuthentication yes
PubkeyAuthentication yes
另外,请留意 root 用户能否通过 SSH 登录:
PermitRootLogin yes
当你完成全部设置,并以密钥方式登录成功后,再禁用密码登录:
PasswordAuthentication no
最后,重启 SSH 服务:
[root@host .ssh]$ service sshd restart
4. 将私钥下载到客户端,然后转换为 PuTTY 能使用的格式
使用 WinSCP、SFTP 等工具将私钥文件 id_rsa 下载到客户端机器上。然后打开 PuTTYGen,单击 Actions 中的 Load 按钮,载入你刚才下载到的私钥文件。如果你刚才设置了密钥锁码,这时则需要输入。
载入成功后,PuTTYGen 会显示密钥相关的信息。在 Key comment 中键入对密钥的说明信息,然后单击 Save private key 按钮即可将私钥文件存放为 PuTTY 能使用的格式。
今后,当你使用 PuTTY 登录时,可以在左侧的 Connection -> SSH -> Auth 中的 Private key file for authentication: 处选择你的私钥文件,然后即可登录了,过程中只需输入密钥锁码即可。
⑥ 求助,linux中ssh-keygen生成的密码放在那里的
存放在~/.ssh下面,一个公钥一个私钥。
⑦ ssh-key关于authorized_keys电脑与linux互相认证
概念:authorized_keys文件中存储着本地系统可以允许远端计算机系统ssh免密码登陆的账号信息。也就是远端的计算机可以通过什么账号及地址不需要输入密码既可以远程登陆本系统。
一、配置完本地ssh-key后,配置本地或者vscode保持长时间连接银哗远程linux服务器,避免每次都密码登录(突然造成远程服务逗察端口占用问题,耽误我好久时间,只因为少执行了(操作命令:#cat id_dsa.pub >> ~/.ssh/authorized_keys)):
例如:
PC =(ssh)> (9.135.164.160)
9.135.164.160) =(ssh)> git
二、具体操作流程
单向登陆的操作过程(能满足上边的目的):
1、登录A机器
2、ssh-keygen -t [rsa|dsa],将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub
3、将 .pub 文件复制到B机器的 .ssh 目录, 并 cat id_dsa.pub >> ~/.ssh/authorized_keys
4、大功告成,从A机器登录B机器的目标账户,不再需要密码了;(直接运行 #ssh 192.168.20.60 )
双向登陆的操作过程:
1、ssh-keygen做密码验证可以使在向对方机器上ssh ,scp不用使用密码.具体方法如下:
2、两个节点都执行操作:#ssh-keygen -t rsa
然后全部回车,采用默认值.
3、这样生成了一对密钥,存放在用户目录的~/.ssh下。
将公钥考到对山搏茄方机器的用户目录下,并将其复制到~/.ssh/authorized_keys中(操作命令:#cat id_dsa.pub >> ~/.ssh/authorized_keys)。
4、设置文件和目录权限:
设置authorized_keys权限
chmod 700 -R .ssh
5、要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效。