SSH_Secure_Shell_ClientH工具密钥登录linux
2013-10-11 09:29
351 查看
服务器每天有不计其数针对ssh的密码猜解,虽然加了密码错误三次后禁止IP的模块设置,但是实际应用仍然不是很完美,索性将服务器认证方式换成密钥认证了,就是不能再用密码登录,除非有密钥。这样猜解就没有意义了,写下来共享一下吧。
首先确保服务器ssh服务已启动,用户能够正常登录,然后配置客户端,过程如下:
一、先用自已的用户登录到服务器,比如我用 uplinux 登录到服务器
二、运行 SSH Secure Shell 工具中的“Secure Shell Client ”,选择菜单中“Edit”-> “Setting”,在打开的窗口左侧依次选择“Global Settings”->“User Authentication”->“Keys”,然后看到如下画面:
三、点击“Generate New”,在打开的窗口中点击“Next”看到如下图:
选择 “RSA”和 “1024”,然后点击“Next”,稍等一会,会计算一个密钥。
四、看到如下图,参照图片中的内容进行填写,比如 uplinux 用户可以填写成 uplinux_key,这个无所谓,不要跟其它key重复就好了。
在Passphrase中填写一个密码,这个是保护本地私有密钥的密码,也就是说,即使有人盗用了你的计算机,没有这个密码,也仍然不能使用你的密钥。注意,这个不是服务器上用户密码。
填写完毕点击“Next”
五、填写完毕后,密钥就生成完了,点击完成。
六、选择刚才生成的密钥,点击“Upload”,会弹出如下窗口:
参考窗口中的内容填写,注意名称是自动出现的,不用管。第二项需要修改为 .ssh ,第三项不用管。
然后点“Upload”
注意:这个时候应该是已经登录的状态,不然公钥传不上去。
七、如果没有提示错误,那么公钥就自动被上传到服务器上去了。
接着要做一些手工的操作,在命令行界面里,输入如下命令: (左脚注意前面的$符号不是命令,只是个提示符)
$ cd .ssh/
$ ls -l
会至少看到你刚才生成的 .pub 公钥文件和一个 authorization 认证配置文件。如果没有你刚才起的名子的文件,那就有问题,检查上面的过程。
接着做下面的命令,假设我生成的是 uplinux_key.pub
$ ssh-keygen -i -f uplinux_key.pub >> authorized_keys
然后,删除刚才生成的文件:
$ rm -rf uplinux_key.pub
$ rm -rf authorization
再接着,修改文件权限。(注意,本步骤很重要)
$ chmod 600 *
$ cd ../
$ chmod 700 .ssh
八、退出 SSH 工具。重新发起一次链接,参照下图进行选择:
注意最后一项“Public Key”
九、点击链接,然后会看到下面的提示:
这个提示就是要你输入刚才设置的“Passphrase”密码,输入正确后,就会登录到系统中了
十,客户端配置最后一步,也最重要:
本地会保存你生成的私钥和公钥,刚才所上传上去的就是公钥。
每次登录,软件都会自动拿本地的私钥和远端的公钥做加密运算,然后才能登录。
所以,我们必须保护我们本地的密钥文件,这个就象招商银行网上银行专业版的数字证书一样,丢了就不能再次登录了。
密钥文件存放在本地目录:
C:Documents and SettingsuplinuxApplication DataSSHUserKeys
把这个目录里的文件备份出来,压缩成带密码的压缩包,弄到手机里或者U盘里,以备重做系统后可用。
十一、服务器端关闭密码登录:
使用root用户编辑/etc/ssh/sshd_config文件,将PasswordAuthentication yes改为PasswordAuthentication no
保存文件并退出,重新启动sshd服务。
至此之后,服务器不再接受密码认证,客户端必须使用密钥才能正常登录。不过一定要注意密钥不要搞丢了,不然自已也不能远程登录系统了。
首先确保服务器ssh服务已启动,用户能够正常登录,然后配置客户端,过程如下:
一、先用自已的用户登录到服务器,比如我用 uplinux 登录到服务器
二、运行 SSH Secure Shell 工具中的“Secure Shell Client ”,选择菜单中“Edit”-> “Setting”,在打开的窗口左侧依次选择“Global Settings”->“User Authentication”->“Keys”,然后看到如下画面:
三、点击“Generate New”,在打开的窗口中点击“Next”看到如下图:
选择 “RSA”和 “1024”,然后点击“Next”,稍等一会,会计算一个密钥。
四、看到如下图,参照图片中的内容进行填写,比如 uplinux 用户可以填写成 uplinux_key,这个无所谓,不要跟其它key重复就好了。
在Passphrase中填写一个密码,这个是保护本地私有密钥的密码,也就是说,即使有人盗用了你的计算机,没有这个密码,也仍然不能使用你的密钥。注意,这个不是服务器上用户密码。
填写完毕点击“Next”
五、填写完毕后,密钥就生成完了,点击完成。
六、选择刚才生成的密钥,点击“Upload”,会弹出如下窗口:
参考窗口中的内容填写,注意名称是自动出现的,不用管。第二项需要修改为 .ssh ,第三项不用管。
然后点“Upload”
注意:这个时候应该是已经登录的状态,不然公钥传不上去。
七、如果没有提示错误,那么公钥就自动被上传到服务器上去了。
接着要做一些手工的操作,在命令行界面里,输入如下命令: (左脚注意前面的$符号不是命令,只是个提示符)
$ cd .ssh/
$ ls -l
会至少看到你刚才生成的 .pub 公钥文件和一个 authorization 认证配置文件。如果没有你刚才起的名子的文件,那就有问题,检查上面的过程。
接着做下面的命令,假设我生成的是 uplinux_key.pub
$ ssh-keygen -i -f uplinux_key.pub >> authorized_keys
然后,删除刚才生成的文件:
$ rm -rf uplinux_key.pub
$ rm -rf authorization
再接着,修改文件权限。(注意,本步骤很重要)
$ chmod 600 *
$ cd ../
$ chmod 700 .ssh
八、退出 SSH 工具。重新发起一次链接,参照下图进行选择:
注意最后一项“Public Key”
九、点击链接,然后会看到下面的提示:
这个提示就是要你输入刚才设置的“Passphrase”密码,输入正确后,就会登录到系统中了
十,客户端配置最后一步,也最重要:
本地会保存你生成的私钥和公钥,刚才所上传上去的就是公钥。
每次登录,软件都会自动拿本地的私钥和远端的公钥做加密运算,然后才能登录。
所以,我们必须保护我们本地的密钥文件,这个就象招商银行网上银行专业版的数字证书一样,丢了就不能再次登录了。
密钥文件存放在本地目录:
C:Documents and SettingsuplinuxApplication DataSSHUserKeys
把这个目录里的文件备份出来,压缩成带密码的压缩包,弄到手机里或者U盘里,以备重做系统后可用。
十一、服务器端关闭密码登录:
使用root用户编辑/etc/ssh/sshd_config文件,将PasswordAuthentication yes改为PasswordAuthentication no
保存文件并退出,重新启动sshd服务。
至此之后,服务器不再接受密码认证,客户端必须使用密钥才能正常登录。不过一定要注意密钥不要搞丢了,不然自已也不能远程登录系统了。
相关文章推荐
- SSH_Secure_Shell_ClientH工具密钥登录linux
- 安装、设置和使用SSH Secure shell 实现windows 登录linux
- Windows使用SSH Secure Shell实现免密码登录Linux的方法以及使用scp2命令免密码下载文件
- 安装、设置和使用SSH Secure shell 实现windows 登录linux
- SSH Secure Shell Client—远程控制linux工具
- SSH Secure Shell Client用pub key认证登录linux
- Linux学习-02-远程连接SSH工具及密钥登录配置
- Linux下远程连接工具SSHSecureShellClient的使用
- SSH Secure Shell Client—远程控制Linux工具
- SSH Secure Shell Client远程登录Linux
- Linux之SSH远程密钥登录
- Windows下 SSH 通过密钥登录 Linux 服务器
- SSH Secure Shell Client用public key认证登录
- Xshell/Secure CRT/PuTTY使用密钥对登录阿里云Linux服务器
- Linux系统下,项目部署。【SSH Secure Shell Client】【常用命令】
- 常用linux工具制作----ssh登录管理工具ssh2remote
- SSH密钥登录Linux系统服务器的设置方法
- [工具] -- ssh secure shell client端中文显示乱码
- 如何避免SSH Secure Shell Client链接LINUX超时,自动断开?
- 如何避免SSH Secure Shell Client连接Linux超时,自动断开?