Linux使用密钥登录SSH

Operating system : CentOS 6.5 64bit

SSH   clients   :  Putty/Puttygen

 

1)安装SSH服务

#yum install -y openssh-server    //安装ssh服务
#/etc/init.d/sshd start    //启动ssh服务
#netstat -anpt | grep sshd    //查看是否成功启动


2)在服务器上生成密钥

#ssh-keygen -b 1024 -t rsa 在Linux上使用ssh-keygen命令生成密钥(-b bits  -t type/更多参数自行了解)
//Enter file in which to save key (存储密钥路径,默认即可)
//Enter passphrase  (密钥口令)


3)公钥和私钥

默认生成的密钥在用户宿主目录下 ~/.ssh/

会生成一个公钥(id_rsa.pub)和私钥(id_rsa)

将公钥内容写入~/.ssh/authorized_keys文件(创建此文件)

#cat id_rsa.pub > authorized_keys


4)配置/etc/ssh/sshd_config文件

配置前建议先备份

改完之后保存文件并重启SSH服务

//在不能确保证书登录一定成功时,请不要禁用密码验证方式登录,以免造成不必要的麻烦改动或添加以下内容

#cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
#vim /etc/ssh/sshd_config
Port    //SSH服务监听端口
Protocol 2    //SSH协议版本
PermitRootLogin yes    //允许root用户使用SSH登录
ServerKeyBits 1024    //密钥位数,根据生成密钥时指定的位数为准
PasswordAuthentication no    //是否使用密码认证方式(可在确保成功之后禁用密码认证方式登录
PermitEmptyPasswords no    //禁止空密码登录
RSAAuthtication yes    //启用RSA认证
PubkeyAuthentication yes    //启用公钥认证
AuthorzedKeysFile .ssh/authorized_keys    //公钥文件
StrictModes yes    //存放公钥文件宿主目录名称必须和登录用户名相同
 
#/etc/init.d/sshd restart


5)使用密钥登录

i>将id_rsa私钥下载到需要用来远程登录SSH服务的客户机上

ii>使用puttygen将私钥转换为ppk格式

putty登录工具不识别id_rsa,所以使用puttygen工具转换成为putty识别的密钥

将bits改成和ssh-keygen生成时一样(1024)

iii>Putty设置

会话->主机地址和端口

连接->SSH->认证->认证私钥文件->id_rsa.ppk(选择你转换后保存的私钥文件)

 

&Error

puttygen.exe载入文件时若出现不支持,请到官网下载最新版puttygen.exe

 


你可能感兴趣的:(linux,ssh,安全)