ubuntu配置ssh server的详细步骤

ubuntu配置ssh server的详细步骤,第1张

SSH-Server配置指南

一、SSH简介

SSH (Secure Shell)是一个应用程序中提供安全通信的协议,通过SSH协议可以安全地访问服务器,因为SSH 具有成熟的公钥加密体系,在数据进行传输时进行加密,保证数据在传输时不被恶意篡改、破坏和泄露,能有效防止网络嗅探和IP欺骗等攻击。

二、服务器端Ubuntu平台下OpenSSH server的安装

SSH是由芬兰的一家公司开发的,但是因为受版权和加密算法的限制,现在很多人都转而使用OpenSSH。OpenSSH是SSH的替代软件,而且是免费的。

下以命令均是以管理员身份登录使用

1.   在Ubuntu终端使用apt命令

复制代码

   

代码如下:

# apt-get install openssh-server

如果下载失败,可能是由于系统需要更新的缘故,尝试更新一下,就可以了。使用一下命令:

复制代码

   

代码如下:

# apt-get update

2  配置openssh server,可以按照需求修改配置文件

复制代码

   

代码如下:

# vi etc/ssh/ssh_config

3. 重启服务器

复制代码

   

代码如下:

# /etc/initd/ssh restart

以上OpenSSH server就算安装完成。

配置“/etc/ssh/ssh_config”文件

“/etc/ssh/ssh_config” 文件是OpenSSH系统范围的配置文件,允许你通过设置不同的选项来改变客户端程序的运行方式。这个文件的每一行

包含“关键词-值”的匹配,其中“关键词”是忽略大小写的。下面列出来的是最重要的关键词,用man命令查看帮助页(ssh (1))可以得到

详细的列表。

编辑“ssh_config”文件(vi /etc/ssh/ssh_config),添加或改变下面的参数:

复制代码

   

代码如下:

# Site-wide defaults for various options

   Host

   ForwardAgent no

   ForwardX11 no

   RhostsAuthentication no

   RhostsRSAAuthentication no

   RSAAuthentication yes

   PasswordAuthentication yes

   FallBackToRsh no

   UseRsh no

   BatchMode no

   CheckHostIP yes

   StrictHostKeyChecking no

   IdentityFile ~/ssh/identity

   Port 22

   Cipher blowfish

   EscapeChar ~

下面逐行说明上面的选项设置:

Host

   选项“Host”只对能够匹配后面字串的计算机有效。“”表示所有的计算机。

ForwardAgent no

   “ForwardAgent”设置连接是否经过验证代理(如果存在)转发给远程计算机。

ForwardX11 no

   “ForwardX11”设置X11连接是否被自动重定向到安全的通道和显示集(DISPLAY set)。

RhostsAuthentication no

   “RhostsAuthentication”设置是否使用基于rhosts的安全验证。

RhostsRSAAuthentication no

   “RhostsRSAAuthentication”设置是否使用用RSA算法的基于rhosts的安全验证。

RSAAuthentication yes

   “RSAAuthentication”设置是否使用RSA算法进行安全验证。

PasswordAuthentication yes

   “PasswordAuthentication”设置是否使用口令验证。

FallBackToRsh no

   “FallBackToRsh”设置如果用ssh连接出现错误是否自动使用rsh。

UseRsh no

   “UseRsh”设置是否在这台计算机上使用“rlogin/rsh”。

BatchMode no

   “BatchMode”如果设为“yes”,passphrase/password(交互式输入口令)的提示将被禁止。当不能交互式输入口令的时候,这个选项对脚本

文件和批处理任务十分有用。

CheckHostIP yes

   “CheckHostIP”设置ssh是否查看连接到服务器的主机的IP地址以防止DNS欺骗。建议设置为“yes”。

StrictHostKeyChecking no

   “StrictHostKeyChecking”如果设置成“yes”,ssh就不会自动把计算机的密匙加入“$HOME/ssh/known_hosts”文件,并且一旦计算机的密

匙发生了变化,就拒绝连接。

IdentityFile ~/ssh/identity

   “IdentityFile”设置从哪个文件读取用户的RSA安全验证标识。

Port 22

   “Port”设置连接到远程主机的端口。

Cipher blowfish

   “Cipher”设置加密用的密码。

EscapeChar ~

   “EscapeChar”设置escape字符。

配置“/etc/ssh/sshd_config”文件

“/etc/ssh/sshd_config”是OpenSSH的配置文件,允许设置选项改变这个daemon的运行。这个文件的每一行包含“关键词-值”的匹配,其中

“关键词”是忽略大小写的。下面列出来的是最重要的关键词,用man命令查看帮助页(sshd (8))可以得到详细的列表。

编辑“sshd_config”文件(vi /etc/ssh/sshd_config),加入或改变下面的参数:

复制代码

   

代码如下:

# This is ssh server systemwide configuration file

   Port 22

   ListenAddress 19216811

   HostKey /etc/ssh/ssh_host_key

   ServerKeyBits 1024

   LoginGraceTime 600

   KeyRegenerationInterval 3600

   PermitRootLogin no

   IgnoreRhosts yes

   IgnoreUserKnownHosts yes

   StrictModes yes

   X11Forwarding no

   PrintMotd yes

   SyslogFacility AUTH

   LogLevel INFO

   RhostsAuthentication no

   RhostsRSAAuthentication no

   RSAAuthentication yes

   PasswordAuthentication yes

   PermitEmptyPasswords no

   AllowUsers admin

下面逐行说明上面的选项设置:

Port 22

   “Port”设置sshd监听的端口号。

ListenAddress 19216811

   “ListenAddress”设置sshd服务器绑定的IP地址。

HostKey /etc/ssh/ssh_host_key

“HostKey”设置包含计算机私人密匙的文件。

ServerKeyBits 1024

   “ServerKeyBits”定义服务器密匙的位数。

LoginGraceTime 600

   “LoginGraceTime”设置如果用户不能成功登录,在切断连接之前服务器需要等待的时间(以秒为单位)。

KeyRegenerationInterval 3600

   “KeyRegenerationInterval”设置在多少秒之后自动重新生成服务器的密匙(如果使用密匙)。重新生成密匙是为了防止用盗用的密匙解密被

截获的信息。

PermitRootLogin no

   “PermitRootLogin”设置root能不能用ssh登录。这个选项一定不要设成“yes”。

IgnoreRhosts yes

   “IgnoreRhosts”设置验证的时候是否使用“rhosts”和“shosts”文件。

IgnoreUserKnownHosts yes

   “IgnoreUserKnownHosts”设置ssh daemon是否在进行RhostsRSAAuthentication安全验证的时候忽略用户的“$HOME/ssh/known_hosts”

StrictModes yes

   “StrictModes”设置ssh在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权。这通常是必要的,因为新手经常会把自己的

目录和文件设成任何人都有写权限。

X11Forwarding no

   “X11Forwarding”设置是否允许X11转发。

PrintMotd yes

   “PrintMotd”设置sshd是否在用户登录的时候显示“/etc/motd”中的信息。

SyslogFacility AUTH

   “SyslogFacility”设置在记录来自sshd的消息的时候,是否给出“facility code”。

LogLevel INFO

   “LogLevel”设置记录sshd日志消息的层次。INFO是一个好的选择。查看sshd的man帮助页,已获取更多的信息。

RhostsAuthentication no

   “RhostsAuthentication”设置只用rhosts或“/etc/hostsequiv”进行安全验证是否已经足够了。

RhostsRSAAuthentication no

   “RhostsRSA”设置是否允许用rhosts或“/etc/hostsequiv”加上RSA进行安全验证。

RSAAuthentication yes

   “RSAAuthentication”设置是否允许只有RSA安全验证。

PasswordAuthentication yes

   “PasswordAuthentication”设置是否允许口令验证。

PermitEmptyPasswords no

   “PermitEmptyPasswords”设置是否允许用口令为空的帐号登录。

AllowUsers admin

   “AllowUsers”的后面可以跟着任意的数量的用户名的匹配串(patterns)或user@host这样的匹配串,这些字符串用空格隔开。主机名可以是

DNS名或IP地址。

使用SFTP代替FTP传输文件

FTP(文件传输协议)是一种使用非常广泛的在网络中传输文件的方式,但是,它也同样存在被网络窃听的危险,因为它也是以明文传送用户认证信息。其实在SSH软件包中,已经包含了一个叫作SFTP(Secure FTP)的安全文件传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP。若要开启 SFTP功能可以修改sshd2_config文件的下列内容:

复制代码

   

代码如下:

# subsystem-sftp sftp-server

去掉行首的“#”,然后重新启动SSH服务器,这样在进行SSH连接时就可以同时使用SFTP传输文件。

关于客户端设置

以上是对服务器的设置,其实在SSH服务器中已经包含了一些客户端工具(如SSH,SFTP工具)。但是,更多的客户端用户使用Windows系统,下

面就对Windows上的客户端系统设置加以说明。

   首先从上文给出的网址下载“SSHSecureShellClient-323exe”文件并安装。安装完成后,在桌面上会产成两个快捷方式,一个是“SSH

Secure Shell Client”,用于远程管理,另一个是“SSH Secure File Transfer Client”,用于和服务器进行文件传输。在工具栏中点击

“quick connnect”,输入正确的主机名和用户名,然后在弹出的对话框中输入密码完成登录,即可开始执行命令或者传输文件。在使用SFTP

时,默认只能显示用户的宿主目录的内容和非隐藏文件。但是,有时候您可能还要查看其它目录或者隐藏文件,这时只需要在菜单“eidt-

setting- file transfer”的选项中选中“show root directory”和“show hidden file”两个选项即可。

使普通用户仅使用SFTP而没有使用Shell的权限

   默认情况下管理员给系统添加的账号将同时具有SFTP和SSH的权限。让普通用户使用shell执行命令也是有很大的安全隐患的,如果能够禁止用

户使用shell执行命令而仅使用SFTP传输文件,就能消除这种安全隐患,完全实现FTP的功能,

   正如上文所述,SFTP没有单独的守护进程,只能借助于sshd守护进程,所以我们仍然需要使用SSH服务器,要保证sshd守护进程处于运行状态。

具体实现方法如下:

首先,在编译安装时,编译中一定要有“–enable-static” 选项。安装成功后,在安装目录下的bin目录中执行下面的命令:

复制代码

   

代码如下:

[root@localhost bin]# ls -l ssh-dummy-shell sftp-server2

将看到下列输出内容:

复制代码

   

代码如下:

-rwxr-xr-x 1 root root 1350417 Apr 28 16:30 sftp-server2

   -rwxr-xr-x 1 root root 3566890 Apr 28 16:30 sftp-server2static

   -rwxr-xr-x 1 root root 72388 Apr 28 16:30 ssh-dummy-shell

   -rwxr-xr-x 1 root root 1813412 Apr 28 16:30 ssh-dummy-shellstatic

其中带“static”后缀名,且比较大的两个文件就是加上“–enable-static”选项后生成的,后面我们将用到这里两个文件。

下面以添加普通账号test为例讲述具体操作步骤。

1.在“/home”目录(或者将要存放普通用户宿主目录的目录)下创建“bin”子目录,并将两个static文件复制到此目录下(复制后改名去掉static后缀),执行如下命令:

复制代码

   

代码如下:

[root@localhost bin]# cd /usr/local/ssh32/bin

   [root@localhost bin]#cp ssh-dummy-shellstatic /home/bin/ssh-dummy-shell

   [root@localhost bin]# cp sftp-server2static /home/bin/sftp-server

   [root@localhost bin]#chown -R rootroot /home/bin

   [root@localhost bin]#chmod -R 755 /home/bin

2.添加一个组,使以后所有禁止使用shell的用户都属于这个组,这样便于管理更多的用户:

   [root@localhost bin]#groupadd template

3.在添加系统账号时使用如下命令:

复制代码

   

代码如下:

[root@localhost root]#useradd -s /bin/ssh-dummy-shell -g template test

   [root@localhost root]#passwd test

   [root@localhost root]#mkdir /home/test/bin

   [root@localhost root]#cd /home/test/bin

   [root@localhost bin]#ln /home/bin/ssh-dummy-shell ssh-dummy-shell

   [root@localhost bin]#ln /home/bin/sftp-server sftp-server

   [root@localhost bin]#chown -R rootroot /home/test/bin

   [root@localhost bin]#chmod -R 755 /home/test/bin

3.用户添加成功后,还需要修改/etc/ssh2/sshd2_config文件,将下列内容:

   #ChRootGroups sftp,guest

   改为:

   ChRootGroups sftp,guest,template

   修改上面这行内容,主要是为了禁止普通用户查看系统的其它目录,把其权限限制在自己的主目录下。重新启动SSH服务器程序,在客户端使用SSH Secure File Transfer Client登录,即使选择显示根目录,普通用户也看不到其它的任何目录,而是把自己的主目录当作根目录。注意,这里使用的是按用户所属组限制,这样可以使包含在template组内的所有用户都可以实现此功能。若您只要限制个别用户的话,可以修改下面的内容:

复制代码

   

代码如下:

#ChRootUsers anonymous,ftp,guest

事实证明SSH是一种非常好的网络安全解决方案,但是,目前仍有很多管理员使用Telnet或FTP这种非常不安全的工具,希望尽快转移到SSH上来,以减少网络安全隐患。

Ubuntu分为桌面版(desktop)和服务器版(Server)

下面为大家介绍服务器版本Ubuntu Server 1304的详细安装过程。

附Ubuntu Server 1304系统镜像下载地址:

32位:http://mirrors163com/ubuntu-releases/1304/ubuntu-1304-server-i386iso

64位:http://mirrors163com/ubuntu-releases/1304/ubuntu-1304-server-amd64iso

用启动盘成功引导之后,出现下面的界面

选择语言:中文(简体)

默认第一项:安装Ubuntu服务器版

询问是否继续安装所选择的语言版本,选择“yes”

选择“否”默认键盘模式

系统运维 wwwosyunweicom 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接

配置键盘:汉语

键盘布局:汉语

设置主机名字

创建新用户:输入新用户全名(注意:不是登录账号,相当于描述)

输入:账号的用户名(这个是登录账号)

设置密码

再次输入密码

密码复杂性验证,选择是,也可以选否,重新设置复杂的密码

选择否

选择手动分区,进入下面的界面

分区向导,选择需要安装的磁盘

可以看到上面所选磁盘的容量信息,点击磁盘空闲空间,我这里磁盘大小是54G

创建新分区

大小:1GB

主分区

开始

选择交换空间

系统运维 wwwosyunweicom 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接

点分区设定结束,这样就设置好了swap分区(一般为内存大小的2倍),继续重复上面的步骤,在划分一个根分区

选择空闲空间

创建新分区

分区大小,这里默认显示剩余空间(分区之前先要规划好,我这里只分swap和跟分区"/"),

所以剩余空间全部给“/”分区,点继续

主分区

挂载点:/

点分区设定结束

分区设定结束并将修改写入磁盘

默认,继续

没有自动更新

用空格键选中OpenSSH server 点继续(服务器根据自己需求。其它软件后面再安装)

默认,是

继续,系统自动重启

进入登陆界面

输入上面设置的用户名和密码登录系统

至此,Ubuntu Server 1304安装完成。

为了假装学习,在某宝上剁了一台HP打印机,用了一阵子后发现个,每次打印都要开台式机(USB打印机连在台式机上),很麻烦,如果能把打印机连在NAS服务器上,就好多了。事不宜迟,马上开搞,以下是搞机的记录:

ubuntu上打印机的驱动安装,与具体的型号和品牌有关,hp的是通过hplip工具来实现。具体安装很简单,一路确认就可以。不确定的简单搜索就可以了,以下是参考:

hplip地址: https://developershpcom/hp-linux-imaging-and-printing/gethplip

安装详细过程: http://blogcsdnnet/ws_20100/article/details/49120509

安装好后本地打印一张纸试试,看看是否正常。

ubnntu下的打印服务器可以通过cups来实现。

具体的安装和配置:

参考资料:

如何在Ubuntu上使用网络打印-ubuntu-wiki

CUPS-wiki (简体中文)

如何在Ubuntu服务器上设置Web配置的打印服务器使用SWAT,CUPS和SAMBA

在 http://localhost:631/admin 页面中找到Server Settings,选择"Share printers connected to this system"及其子项"Allow printing from the Internet",点击"Change Setting"按钮保存设置。

进入 http://localhost:631/printers/ 页面点击自己打印机的名字,复制跳转到的页面的URL,即打印机的地址。然后,就可以在Windows上添加使用Ubuntu共享的打印机了。

(来自 http://wwwqingpingshancom/pc/fwq/324056html )

配置教程

win7

win10

mac

首先安装linux系统,然后搭建网站服务器环境,比如PHP或者ASP的,然后建立网站空间。

1用户打开浏览器后输入网址,并回车。

2浏览器开始查询网址的DNS纪录,并对查询到的纪录发起请求。(购买域名/DNS记录都是什么/配置域名的DNS)

3服务器的Web容器(如Nginx/Apache等)接收到请求,并根据浏览器发送过来的HTTP头开始工作。(HTTP头/常见Web容器/如何配置这些Web容器和后端程序协同工作)(注:Web容器不是必须存在的,但却是最常见的处理Web请求的流程的一部分)

4后端处理收到的请求

5Web容器从后端程序获得最终的结果,并将结果和HTTP回复头一起返回给浏览器

6浏览器展示结果

下载Ubuntu系统

  首先是找到下载页面,然后点击服务器版的下载地址。下载完最新版本的软件后,你把ISO文件刻录到CD上。于是,你就可以从光盘启动服务器了,整个操作系统的安装大概需要20分钟的时间。

  安装完成后,操作系统自动启动到命令行提示符。这时,你登录你的姓名,按ENTER键,添加你的密码。然后,键入“sudo apt-get install ubuntu-desktop”命令就会解开Ubuntu系统的图形界面。

  服务器版的Ubuntu通常只包含一个命令行界面。经过约20分钟,你就可以重新启动机器,并使用鼠标来操作你的桌面了。

  更改IP设置

  如果你目前连接到一个DHCP路由器,Ubuntu在网络链路方面不会有任何问题。 当你准备开始提供文件服务时,你可能会希望手动配置IP地址,以使客户端更容易恢复。

  然后对系统访问、参数设置、网络配置进行更改。点击IPv4设置选项卡,改成手工设置。点击加入IP地址,然后选择“OK”。

  最后对你的路由器进行设置,或者储备一个静态地址并将DHCP设置动态发送到其它客户端,或整个网络都采用手动设置IP地址的方式。

  添加用户

  在系统、管理器、用户和组里增加新的用户。按一下解锁键,输入你的密码,然后点击验证。单击添加用户,增加一个新的网络登录名和密码,如此重复增加那些需要访问该服务器的用户。

  如果他们不需要访问服务器,那设置的配置文件就不需要访问权限,而只要成为桌面用户即可。单击管理组,把那些所有需要访问服务器的用户添加到一个组里。

  共享文件

  接下来开始选择那些需要共享的主文件夹,设定为本地属性或者共享属性。继续打开下一层的文件夹,激活共享文件夹,然后点击创建共享。

  如果要对整个组的用户赋予文件夹的访问权限,那只要打开权限表,给相应的组设置打开、关闭和写、删除文件的权限就可以了。

  通过上述步骤,就用Ubuntu系统建立起了一个免费的文件服务器。

VWMare网络配置为桥接模式:

在虚拟机里面,选择需要设置成服务器的系统,点击编辑虚拟机设置,在网络

连接中配置成桥接模式。

安装ssh-server:

启动虚拟机在命令行中敲入代码:sudo apt-get install openssh-server

查看是否关闭防火墙:

命令行敲入代码:sudo ufw status

如果显示:inactive即为关闭

小编这里因为把系统语言改成了中文所以没有英文提示

如果防火墙没有关闭,敲入代码:sudo ufw disable

再开放ubuntu的端口,敲入代码: sudo ufw allow 22

查看ubuntu 的IP地址:

敲入代码:ifconfig -a ,inet address后面就是IP地址

此时可以用远程连接工具访问了,如图已经连接成功

1、首先需要确保您已经在 /etc/apt/sourceslist 文件中启用了 Universe 和 Multiverse 软件库。

2、其次执行如下命令,保存并退出,然后执行以下命令。

3、最后输入你的用户名和口令(Ubuntu 系统中具备 sudo 权限的用户,或者是 root 帐号)登录后进入管理页面即可安装小图形界面。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » ubuntu配置ssh server的详细步骤

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情