方法一, 有的时候经常需要登录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 你的文件请使用gnupg(命令为gpg),我干过这种事,如果觉得字符界面不方便的话,可以安装一些图形前端,比如kde下的kgpg或者kleopatra,不但密字符串,而且密二进制数据
ssh-keygen生成出来的密钥只能用来“验证”
而你需要的是“加密”
补充回
gpg绝对可以,我曾经用gpg加密过4.5G的DVD iso,不过,正如你知道的那样,公钥体制速度是巨慢的。
假设你已经创建了密钥对名称为abc, 要加密M07A0bpp-Duke.pdf
gpg -e -r abc M07A0bpp-Duke.pdf
将得到的M07A0bpp-Duke.pdf.gpg发送即可
当abc解密时,输入以下命令即可
gpg -u abc M07A0bpp-Duke.pdf.gpg
评论列表(0条)