
sudo apt-get install ssh
SSH 远程登入 Ubuntu 机
ssh username@192.168.0.1
将 文件/文件夹 从远程 Ubuntu 机拷至本地(scp)
scp -r username@192.168.0.1:/home/username/remotefile.txt .
将 文件/文件夹 从本地拷至远程 Ubuntu 机(scp)
scp -r localfile.txt username@192.168.0.1:/home/username/
将 文件/文件夹 从远程 Ubuntu 机拷至本地(rsync)
rsync -v -u -a --delete --rsh=ssh --stats username@192.168.0.1:/home/username/remotefile.txt .
将 文件/文件夹 从本地拷至远程 Ubuntu 机(rsync)
rsync -v -u -a --delete --rsh=ssh --stats localfile.txt username@192.168.0.1:/home/username/
在 Windows 机上用 SSH 远程登录 Ubuntu 机
下载 PuTTY
如何在 Windows 机上拷贝 文件/文件夹 从/到 远程 Ubuntu 机
下载 FileZilla
ssh -X guoshuang@192.168.100.4
支持 SSH 图形界面。也就是说,gedit 打开和另存都是在服务器端操作的。nautilus 打开服务器端的文件管理器。这下就比只用命令行方便多了。不知道 windows 下的 putty 支持不。
ssh -X guoshuang@192.168.100.4 ls
直接在服务器端执行 ls 返回结果到客户端
如何通过SSH远程连接的用户帐号
如,假如你启用了SSH服务,那么任何有有效帐号的用户都可以远程连接。这可能会导致一些安全问题,由于有一些远程密码破解工具可以尝试常见的用户名/密码
备份SSH服务的配置文件
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ORIGINAL
编辑配置文件
sudo gedit /etc/ssh/sshd_config
* 将参数 PermitRootLogin 由 yes 更改为 no。 超级用户不能直接通过远程联机。
* 添加参数 AllowUsers 设定远程连接的用户名 (用空格来分割) 。
* 您也可以使用 DenyUsers for fine-grained selection of users.
* If you enable the openssh server and you have no intention for now to enable remote connections, you may add AllowUsers nosuchuserhere to disable anyone connecting.
SSH 命令
ssh 命令可以用来在远程机器上不经 shell 提示登录而执行命令。它的语法格式是: ssh hostname command。譬如,如果你想在远程主机 penguin.example.net 上执行 ls /usr/share/doc 命令,在 shell 提示下键入下面的命令:
ssh penguin.example.net ls /usr/share/doc
3.2. 使用 scp 命令
scp 命令可以用来通过安全、加密的连接在机器间传输文件。它与 rcp 相似。
把本地文件传输给远程系统的一般语法是:
scp localfile username@tohostname:/newfilename
localfile 指定源文件,username@tohostname:/newfilename 指定目标文件。
要把本地文件 shadowman 传送到你在 penguin.example.net 上的账号内,在 shell 提示下键入(把 username 替换成你的用户名):
scp shadowman username@penguin.example.net:/home/userna
me
这会把本地文件 shadowman 传输给 penguin.example.net 上的 /home/username/shadowman 文件。
把远程文件传输给本地系统的一般语法是:
scp username@tohostname:/remotefile /newlocalfile
remotefile 指定源文件,newlocalfile 指定目标文件。
源文件可以由多个文件组成。譬如,要把目录 /downloads 的内容传输到远程机器 penguin.example.net 上现存的 uploads 目录,在 shell 提示下键入下列命令:
scp /downloads/* username@penguin.example.net:/uploads/
3.3. 使用 sftp 命令
sftp 工具可以用来打开一次安全互动的 FTP 会话。它与 ftp 相似,只不过,它使用安全、加密的连接。它的一般语法是:sftp username@hostname.com。一旦通过 验证,你可以使用一组和使用 FTP 相似的命令。请参阅 sftp 的说明书页(man)来获取这些 命令的列表。要阅读说明书页,在 shell 提示下执行 man sftp 命令。sftp 工具只在 OpenSSH 版本 2.5.0p1 以上才有。
SSH 概念
SSH是指Secure Shell,SSH协议族由IETF(Internet Engineering Task Force)的Network Working Group制定,SSH协议的内容SSH协议是建立在应用层和传输层基础上的安全协议。
传 统的网络服务程序,如FTP、Pop和Telnet其本质上都是不安全的;因为它们在网络上用明文传送数据、用户帐号和用户口令,很容易受到中间人 (man-in-the-middle)攻击方式的攻击。就是存在另一个人或者一台机器冒充真正的服务器接收用户传给服务器的数据,然后再冒充用户把数据 传给真正的服务器。
SSH(Secure Shell)是目前比较可靠的为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。
SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、Pop、甚至为PPP提供一个安全的"通道"。
---------------------------------常用命令----------------------------------------------------------------------------
下面介绍一些ubuntu的常用命令
1. 激活网卡:ifup eth0
sudo ifup eth0
2. 系统更新 首先要找源从哪里更新 cn99 ubuntu 8.04 百度一下
接着在终端输入:$sudo gedit /etc/apt/sources.list 清空后把源地址复制到这里面
$sudo apt-get update 第一个update完之后接着
$sudo apt-get upgrade
3. 安装中文包 系统--系统管理--Language Support 选择Chinese安装即可 完了重新启动
4. 安装ssh
命令:sudo apt-get install openssh-server
---------------------------------解决乱码----------------------------------------------------------------------------
ubuntu安装后shell下出
现乱码,远程连接的时候也如此,可以用下面的方法进行配置。
可以使用下面的方法进行:
1. sudo cp /var/lib/locales/supported.d/local /var/lib/locales/supported.d/local.old【可选,备份】
2. sudo cp /usr/share/i18n/SUPPORTED /var/lib/locales/supported.d/local
编辑/var/lib/locales/supported.d/local去掉大多数不用的行(locales)
使用UTF-8在远程的时候还会有部分乱码。可以在首行加入: en_US en
但,如果使用putty的话,把传输模式改成UTF8就行了。
3. sudo dpkg-reconfigure locales
编辑/etc/environment文件,设置一下要用的LANG。
也可以用locale-gen命令设置默认的locale,如sudo locale-gen zh_CN.UTF-8
--------------------------------------------------安装FTP--------------------------------------------------------------
Ubuntu自带的FTP服务器是vsftpd。
1、安装vsftpd
Ubuntu安装软件倒不是件困难的事,输入:
sudo apt-get install vsftpd
如果没换源可能会提示你使用光盘,放进去再按回车就行了。
我用CN99的源,速度是300K每秒,够快吧.
安装了之后会在/home/下建立一个ftp目录。这时候你可以试着访问下ftp://IP地址。应该可以看到一个空白内容的ftp空间。
默认设置下匿名用户可以下载,但不能写入或是上传
2、设置 vsftpd.conf文件
现在我们要让匿名用户无法访问,并且得输入linux上的用户密码后才能访问到他们自己目录里的内容。
首先找到设置vsftpd的文件,位置在/etc/vsftpd.conf
修改之前最好先备份下这个文件:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.old
然后可以改动了:
#不让匿名用户使用
#anonymous_enable=YES
#本地用户可用
local_enable=YES
#可用写操作
write_enable=YES
#不需要显示某目录下文件信息
#dirmessage_enable=YES
#加点banner提示
ftpd_banner=Hello~~
#FTP服务器最大承载用户
max_clients=100
#每个IP的进程
max_per_ip=5
#最大传输速率(b/s)
local_max_rate=256000
#隐藏帐号
hide_ids=YES
好了,重启下ftp 服务器看看效果
重启后还是和原来一样对吗?呵呵,这是默认的ftp目录在做鬼,我们把它删除,再看看。怎么样?要你输入用户名和密码了吧。
新的问题
1、输入用户名密码后显示的位置是在用户的根目录下,而我们的WEB内容是在public_html目录里
2、用户可以跳到任何其他目录
要解决这些问题我们还得设置下vsftpd.conf
#启动chroot列表(Change root)
chroot_list_enable=YES
#指定列表位置(我
这用的是默认地址)
chroot_list_file=/etc/vsftpd.chroot_list
接下来我们得在vsftpd.chroot_list上写进去我们要哪些用户,不让他们“漂移”..
现在有用户linyupark,所以只要sudo nano一下,往里面写就行了
这样我们已经解决第2个问题了,登陆的用户只能在它的用户文件夹里活动,下面我们要更狠一点,让他只能在public_html里活动
依然还是找vsftpd.conf
#这句默认设置里是没有的,自己加
user_config_dir=/etc/自己定义一个设置个别用户用的文件夹地址
根据自己设置的地址,建立一个相应的文件夹,然后往里面建立和用户名相同的文件,nano一下:
#本地用户的根地址,假设用户是linyupark
local_root=/home/linyupark/public_html
重启下服务器。
