运维工作中,远程登录工具可以实现主机不在身旁的操作,并且更加灵活,功能也更加丰富。常用的远程登录工具有xshell、secureCRT和PuTTY。因为我常用的是下面两种,对下面两种做介绍。

一、X-shell

    x-shell如果用x-manager安装的时候,是一个软件组,其中包含一个文件传输的工具,可以实现windows到linux的文件的便捷传输。

wKiom1Y4Hy_RGO4zAAFHaxmwCcw345.jpg

wKiom1Y4H7yAVdl_AAMR8b7Syuc770.jpg

下面是xshell的密钥登录方法简介:

1. 首先,以正常的密码登录方式,登录远程的linux服务器,如192.168.127.222;


2. 点击工具中的秘钥    生成向导:

wKioL1YcmyPy22e-AAI3RPggo2A573.jpg


3. 点击下一步:

wKioL1YcnBnR4eE5AAGA6C3BkI8919.jpg


4. 输入公钥的名称和密码,点击下一步:

wKiom1YcnCjj_lY-AAFJyjCsf-c550.jpg


5. 复制公钥内容,并保存公钥文件到电脑磁盘中,点击完成:

wKioL1YcnI6itAcjAAIuUekuFfY318.jpg


6. 生成的私钥,点击关闭:

wKiom1YcnMmzdQ5VAACmdcgQwHo897.jpg


7. 新建.ssh目录和authorized_keys文件:

    .ssh目录在新装的系统里面是没有的:

# mkdir /root/.ssh  ##其他用户用家目录,即mkdir ~/.ssh,root的家目录就是/root/,是一样的。
# vim /root/.ssh/authorized_keys,拷贝进我们刚才复制的生存的公钥的内容,保存退出。
# chomd 700 /root/.ssh
# chmod 600 /root/.ssh/authorized_keys  ## 这两部分很重要,避免其他用户能看到key的文件。当然,普通用户无法查看root目录的,但也要注意。

    另外注意一点,秘钥如果要被server许可,需要关闭防火墙Selinux和iptables,方法如下:

# vim /etc/selinux/config 
SELINUX=enforcing --> SELINUX=disabled
# iptables -F  ## 清空iptables的规则

    如果要永久清空,还要执行命令service iptables save命令。


8. 配置sshd文件:

# vim /etc/ssh/sshd_config

打开下面两项前面的井号:

# PubkeyAuthentication yes
# AuthorizedKeysFile   .ssh/authorized_keys  ##相对~目录的路径。

    将密码登录改为no,这样就可以限制不通过密钥直接登录服务器了。

    PasswordAuthentication no  ##禁止用户密码登录,也就是说只能用上面打开的密钥登录方式。

    重启sshd服务:service sshd restart,配置可生效。

    另外,搜索port 22, 去除注释,将22去掉,自定义一个端口号,用root将配置文件权限修改,让普通用户不可查看的话,可以起到一定的安全的作用。


9. 新建登录:

wKiom1Ycn1KQ02WQAAGULBUWFkw669.jpg


10. 输入登录用户名:

wKioL1Ycn5DiBy0XAACp0Q8Nqr4938.jpg


11. 系统自动选择我们的钥匙,输入密码,登录即可;在这里,password登录时不能选择的,说明配置文件中的内容生效了:

wKiom1Ycn7WRblxdAAE7yHs9tmo161.jpg

    xshell和putty相比,各有各的优势;putty中的复制和粘贴功能比xshell要好用。



二、PuTTY

    关于配置文件的修改,参照上面的xshell的方法。

    密钥生成的方法是用putty包自带的PuTTYgen,所以安装putty的时候,要安装完整版本,即带PuTTYgen工具的。


1. 打开PuTTYgen,点击Generate,鼠标光标在空白的位置来回晃动会增加生成密钥的速度。ssh-开头的就是生成的公钥,复制了放到xshell里面提到的~/.ssh/authorized_keys,修改权限700 600。填写公钥的命名和密码,Save private key到本地。

wKiom1Y4JHfw1-2KAAIJvYVqirY705.jpg


2. 参照上面xshell的配置文件修改方法,禁止单纯密码登录,自定义端口号。


3.  一次点击connection --> SSH --> Auth, 浏览保存的私钥。

wKiom1Y4Jxnzr3ZKAAHKbyeUF4A078.jpg


4. Session部分,输入ip、自定义的端口号和要保存的标签,登录即可。

wKioL1Y4J1bifE0jAAHEsI0FDP8428.jpg


5. 如下是登录后的提示,要输入的是密钥的密码。

login as: root
Authenticating with public key "ssh"
Passphrase for key "ssh":


6. 关于随意修改putty显示字体:

    本人比较喜欢Fixedsys字体,putty里面自己不带,可以在系统字体里面找,但提前要勾选以下选项:

wKioL1ZEG5rgUsrnAAHUEIwZ2P4020.jpg

   

7. 普通用户密钥登录方法

    用putty密钥登陆出现server refused our key

    打开sshd_config
    找到StrictModes yes --> StrictModes no  ## 关闭严格模式

# /etc/init.d/sshd restart
# chmod 701 ~/.ssh/
# chmod 704 ~/.ssh/authorized_keys

    完成上述的操作,普通用户才能用密钥登录,比较麻烦。本人亲测,.ssh目录必须要有执行权限,authorized_keys必须有读的权限。