欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

linux中使用密钥远程连接的配置 博客分类: server

程序员文章站 2024-03-20 23:46:22
...

服务器端设置

使用公钥认证需要对服务器进行一些设置。修改 /etc/sshd_config 的以下配置。

RSAAuthentication yes        # 启用 RSA 认证PubkeyAuthentication yes     # 启用公钥认证PasswordAuthentication no    # 禁止密码认证

然后重新启动 sshd。

/etc/init.d/ssh restart

客户端设置

Linux

假设客户端的用户 charlee 要以 guest 用户登录到服务器上。首先在客户端执行下面的命令。

[charlee@client:~]$ ssh-keygen -t rsaGenerating public/private rsa1 key pair.Enter file in which to save the key (/home/charlee/.ssh/id_rsa):Enterpassphrase (empty for no passphrase):  输入密码Enter same passphrase again:   再次输入密码Your identification has been sabed in /home/charlee/.ssh/id_rsaYour public key has been saved in /home/charlee/.ssh/id_rsa.pub

生成的文件保存在主目录的 .ssh 目录下,id_rsa为客户端密钥,id_rsa.pub 为客户端公钥。

之后,通过 U 盘(或者使用“scp /root/.ssh/id_dsa.pub  root@192.168.20.60:/root/.ssh”IP为服务器端IP)等方式将公钥 id_rsa.pub 复制到服务器上,并执行下列命令。

[guest@server:~]$ cat id_rsa.pub >> .ssh/authorized_keys

其中 id_rsa.pub 是客户端的用户 charlee 的公钥。

这样在客户端即可通过以下的命令连接服务器。

[charlee@client:~]$ ssh -l guest server

若不想每次登录服务器时都输入密码,可以先执行下列命令:

[charlee@client:~]$ ssh-addEnter passphrase for /home/charlee/.ssh/id_rsa: 输入密码Identity added: /home/charlee/.ssh/id_rsa (/home/charlee/.ssh/id_rsa)

以后登录服务器就不需要输入密码了。

Windows

假设我们使用putty连接ssh服务器。为了使用公钥认证,我们需要同时下载puttygen这个工具来生成 putty 所使用的密钥。

使用Linux下生成的公钥和密钥的情况

如果你按照上面的介绍,在Linux下生成了公钥和密钥的话,那么需要利用 puttygen 将密钥转换成 putty使用的格式。

将Linux下生成的密钥 id_rsa 复制到 Windows 下。启动puttygen,然后单击Load按钮,选择文件类型为所有文件,然后选择id_rsa,打开。若在生成密钥时输入了密码,则打开时需要输入该密码。之后就可以在 puttygen 的主界面上单击Save private key,保存成 putty 格式的密钥。

使用puttygen生成公钥和密钥

你也可以利用 puttygen 直接生成公钥和密钥。打开 puttygen,然后在画面下方的Parameters 栏选择加密算法和加密长度(一般取默认值即可),最后单击Generate。画面上会出现一个进度条,在界面上随意移动鼠标以生成随机数。最后提示生成结束,单击Save private key 按钮保存密钥。最后将上方的Public keyfor pasting into OpenSSH authorized_keys file栏中的内容复制到Linux 下用户主目录下的 ~/.ssh/authorized_keys 文件中。

设置 putty 使用公钥认证

先在putty中设置好连接的主机名、端口等信息(说明省略)。使用公钥认证需要设置两个地方:一个是Connection 中的 Auto-loginusername,输入在服务器上的用户名;另一个是Connection->SSH->Auth中的Private key file for authentication,选择刚才转换或生成的.ppk 格式的密钥。之后即可使用公钥认证进行连接了

 

 

引自 http://blog.163.com/perfect590@126/blog/static/1348820212009111771953228/