CentOS之SSH

CentOS解决SSH登录速度慢

  • 备份配置文件

    cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

  • 修改配置文件

    1
    2
    3
    4
    vi /etc/ssh/sshd_config
    # 修改以下2个参数
    输入/,查找GSSAPIAuthentication 赋值为no
    输入/,查找UseDNS,赋值为 no(该项默认不启用的,要把前面的#删除掉)
  • 重启ssh服务

    1
    2
    3
    4
    # CentOS7 重启服务命令
    systemctl restart sshd
    # CentOS6 重启服务命令
    service sshd restart

SSH 密钥创建及密钥登录

  • 创建密钥对

    1
    2
    cd /用户目录/.ssh 
    ssh-keygen -t rsa

    执行密钥生成命令,基本上是一路回车既可以了,但是需要注意的是:执行命令的过程中是会提示输入密钥的密码的,不需要密码直接回车就行。密钥生成后会在当前目录下多出两个文件,id_rsa和id_rsa.pub,其中id_rsa是私钥,id_rsa.pub这个是公钥。

  • 公钥添加到需要登录的远程服务器的authorized_keys文件

    • 方法一:
    1
    ssh-copy-id -i /root/.ssh/id_rsa.pub root@远程服务器IP地址或域名
    • 方法二:

    复制id_rsa.pub文件的内容

    1
    vi /root/.ssh/id_rsa.pub

    进入远程服务器需要SSH登录的用户的目录下,查看目录下是否有authorized_keys文件没有的话创建下,授予600权限,将复制的id_rsa.pub文件内容进行粘贴到authorized_keys文件中

    1
    2
    3
    4
    cd /root/.ssh
    ls
    vi authorized_keys
    chmod 600 /root/.ssh/authorized_keys # 此文件的权限必须是600
  • 重启ssh服务

    1
    2
    3
    4
    # CentOS7 重启服务命令
    systemctl restart sshd
    # CentOS6 重启服务命令
    service sshd restart

~/.ssh目录找不到解决方法

执行ssh localhost即可解决

原因:

.ssh 是记录密码信息的文件夹,如果没有登录过root的话,就没有 .ssh 文件夹,因此登录 localhost ,并输入密码就会生成了。