Ubuntu16.0.4 离线部署Openssh

声 明1 : 本人才疏学浅,用郭德纲的话说“我是一个小学生”,如有错误,欢迎讨论,请勿谩骂^_^。
声 明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。

缘起

客户现场部署软件,发现特么的给我的系统真实比我的裤兜还干净啊,然后又在内网,只能说我太年轻了。第一步ssh配置就被卡主了,好在可以挂载CD/DVD文件,下面记录我的一些部署过程,For me and for you like me!

软件部署

准备两台机器
A机器:可以连外网
B机器:不可以连外网

openssh安装

看了好多网上的文章,好多都是下载好openssh所需的那四个安装包,然后dpkg -i *.deb安装,然而如果客户给你的是一个干净的系统,那么这种部署方式基本没有什么卵用。按照那种方式安装,基本会以缺少依赖包安装失败而告终。下面我说一下我的安装过程吧
A机器:

# 在A机器上更新缓存相关的依赖包
sudo apt-get -d update
# 缓存openssh-server包
sudo apt-get -d install openssh-server
# 进入到缓存目录
cd /var/cache/apt/archives
# 先在A机器上测试安装
dpkg -i *.deb
# 安装完毕后查看是否安装成功
sudo service ssh status
# 也可以去/etc/ssh目录下看看是否有sshd_config文件
# 如果安装成功,那么将所有的deb包打包成tar.gz文件
tar -czvf ssh.tar.gz *.deb

B机器:

  1. 利用UltraISO工具将ssh.tar.gz文件转换成iso文件

  2. 在你的虚拟机的配置里,选择CD/DVD,勾选已连接,选择你你那个iso文件。(这块也可以添加一个CD/DVD设备)
    Ubuntu16.0.4 离线部署Openssh_第1张图片

  3. 挂接iso文件

    # 如果之前挂接过,先解除挂载
    sudo umount /dev/sro
    # 挂载光驱
    sudo mount /dev/sr0 /mnt
    cd /mnt
    # 拷贝之前打包的ssh.tar.gz文件到你指定的目录
    cp ssh.tar.gz /home/
    
  4. 解压安装

    tar -zxvf ssh.tar.gz
    cd ssh
    dpkg -i *.deb
    

ssh服务配置

  1. 修改/etc/ssh/ssh_config文件

    将Port 22前面的#注释删掉
    将PasswordAuthentication yes前面的#注释删掉
    

    Ubuntu16.0.4 离线部署Openssh_第2张图片

  2. 修改/etc/ssh/sshd_config文件

    将Port 22前面的#注释删掉
    将PasswordAuthentication yes前面的#注释删掉
    

    PS: 使用vim的时候,可以在一般模式下使用/来进行查询匹配,快速定位到相应的字符串。

  3. 重启服务

    sudo service ssh restart
    
  4. 利用xftp工具进行连接测试,此步骤略

大功告成,O(∩_∩)O哈哈~

问题记录

  1. ssh连接缓慢

    # 以root用户运行
    sudo su
    # 1.编辑/etc/ssh/sshd_config文件
    vi /etc/ssh/sshd_config
    # 2.在里面加入UseDNS no
    # 3. 在里面取消注释GSSAPIAuthentication no
    # 保存编辑
    wq
    # 重启服务
    service sshd restart
    
  2. ssh无法使用root用户登录

# 1.编辑/etc/ssh/sshd_config文件
vim /etc/ssh/sshd_config
# 2.把PermitRootLogin Prohibit-password 添加#注释掉
# 3.新添加:PermitRootLogin yes
# 4.更改PermitEmptyPasswords为 no
# 5.重启服务
service sshd restart

你可能感兴趣的:(Linux)