安装

Ubuntu 默认并没有安装 ssh 服务,如果需要通过 ssh 链接 Ubuntu,需要自己手动安装 openssh-server。

  1. 卸载本地的 ssh 服务:sudo apt-get --purge remove openssh-server
  2. 安装 ssh 服务:sudo apt-get install openssh-server
  3. 查看 ssh 服务是否能正常启动运行:/usr/sbin/sshd -T

    Missing privilege separation directory: /run/sshd:如果只显示该提示表明 ssh 服务可以正常启动

  4. ssh 服务:

    • 启动:service ssh start
      检查是否成功:ps aux | grep ssh
    • 暂停:service ssh stop
    • 重启:service ssh restart

其他问题

/usr/sbin/sshd -T:输出错误存在问题 no hostkeys available — exiting

1、启动时报错:

  1. [root@aefe8007a17d ~]# /usr/sbin/sshd
  2. Could not load host key: /etc/ssh/ssh_host_rsa_key
  3. Could not load host key: /etc/ssh/ssh_host_ecdsa_key
  4. Could not load host key: /etc/ssh/ssh_host_ed25519_key

错误信息:

  • sshd 守护进程不能加载主机密钥文件,因为找不到这些密钥文件(配置文件 /etc/ssh/sshd_config 中已定义密钥文件名与路径)
  • 一般 openssh 服务正常安装后,主机会自动生成相应的主机密钥文件

2、重新生成主机密钥文件:

  1. # 生成 rsa_key(-t 表示生成的密钥所使用的加密类型;-f 接要生成的密钥文件名)
  2. ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
  3. # 生成 ecdsa_key
  4. ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
  5. # 生成 ed25519_key
  6. ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key
  7. # 修改密钥权限
  8. chmod 600 /etc/ssh/ssh_host_dsa_key
  9. chmod 600 /etc/ssh/ssh_host_rsa_key
  10. # 检查密钥文件是否生成且合规(主机密钥文件为私钥,.pub 文件为公钥)
  11. ll /etc/ssh/

服务启动后无法通过密码登录:

  1. vim /etc/ssh/sshd_config:进入编辑 sshd 服务的配置文件
  2. PasswordAuthentication yes:修改 PasswordAuthentication 属性为 yes
  3. service ssh restart:重启 ssh 服务

openssh-client 客户端安装:sudo apt-get install openssh-client