具体步骤参考http://www.centospub.com/make/sshcl.html
服务器的远程管理对于管理员来说是十分方便的,但如何方便、安全的远程管理服务器就成为管理员首先要面对的课题,telnet首先pass掉,一个优秀的管理员怎么能够容忍密码以明文的方式在互联网上飞来飞去的?!
我们要利用SSH的密钥来实现安全的加密传输,这里用到的是OpenSSH,免费而且开源!:)
一、安装OpenSSH
sudo apt-get install openssh-server
二、配置OpenSSH
OpenSSH的核心配置文件是/etc/ssh/sshd_config,首先备份(一定要养成良好的习惯!)
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
然后修改/etc/ssh/sshd_config文件
vim /etc/ssh/sshd_config
把相关的项目修改如下(不必理会注释的内容)
# 修改端口号,默认22,修改成其他的端口,增加安全性,这里改为222
Port 222
# 仅使用SSH2方式的连接
Protocol 2
# 定义服务器密钥的位数,这里选择1024
ServerKeyBits 1024
# 修改OpenSSH服务器等待用户登陆时间,单位秒
LoginGraceTimeout 20
# 不允许root用户通过SSH登陆
PermitRootLogin no
# 不允许密码方式的SSH登陆
PasswordAuthentication no
# 禁止空密码通过SSH登陆
PermitEmptyPasswords no
修改完配置文件后,重启服务
sudo /etc/init.d/ssh restart
三、生成RSA密钥
ssh-keygen -t rsa
会提示更改密钥路径,这里直接回车选择默认路径
然后会要求输入passphrase口令,重复输入两次
确认一下公钥与私钥的建立
cd ~/.ssh
ls -l
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
rm -f ~/.ssh/id_rsa.pub
chmod 400 ~/.ssh/authorized_keys
四、拷贝私钥到U盘备用
插入U盘,并查看U盘盘符
sudo fdisk -l
在列表最下方会找到/dev/sdb1,就是他了!
mkdir ~/usbdisk
sudo mount -t vfat /dev/sdb1 ~/usbdisk
cp ~/.ssh/id_rsa ~/usbdisk
umount ~/usbdisk
五、从windows终端访问SSH服务器
下载puttygen
load并选择id_rsa,提示输入passphrase,提示转换成功
save private key
关闭puttygen
下载putty
左侧列表Connection -> SSH -> Auth
Browse并选择刚刚保存的私钥
左侧列表Session
填入主机IP和端口号,取名Save
双击刚刚保存的Session即可登陆
输入用户名后会提示输入passphrase
完毕