Ubuntu SSH(Secure Shell)是目前比较可靠的为远程登录会话和其他网络服务提供安全性的协议。利用Ubuntu SSH协议可以有效防止远程管理过程中的信息泄露问题。通过Ubuntu SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。
Ubuntu SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。Ubuntu SSH有很多功能,它既可以代替Telnet,又可以为FTP、Pop、甚至为PPP提供一个安全的"通道"。
1. 设置sudo apt-get install ssh
2. 端口可以更改 sudo gedit /etc/ssh/sshd_config (默认22端口)
3. 重启服务sudo /etc/init.d/ssh restart
4. 服务启动确认netstat -ntl
5. 在客户机上产生public key
ssh-keygen按缺省生成就行了。如果一切正常,那么就应该在自己的home目录下的.Ubuntu SSH文件夹下生成两个文件:id_rsa, id_rsa.pub 一个是私钥,一个是公钥,公钥文件id_rsa.pub拷贝到服务器上,然后导入需要登录的用户。比如使用rize用户登录Ubuntu SSH服务器,就导入/home/rize/.ssh目录下。cat id_rsa.pub >>authorized_keys这样就可以不用输入密码就登录Ubuntu SSH
6. 登录服务器:假设ip为210.107.1.23,Ubuntu SSH服务的端口号为5678,服务器上有个用户为rize:ssh -l rize 210.107.1.23 -p 5678ssh rize@210.107.1.23 (常用) 回车后,假如是第一次登录,会提示你一条认证信息,你键入yes即可,接着输入服务器rize的密码登录即可。
7. 用sftp登录服务器的命令为:>sftp -oPort=5678 rize@210.107.1.23键入help你会看到所有命令的帮助,跟ftp命令行工具非常类似,比如get,put等等。
8. 常用命令:将 文件/文件夹 从远程 Ubuntu 机拷至本地(scp)scp -r username@192.168.0.1:/home/username/remotefile.txt .将 文件/文件夹 从远程 Ubuntu 机拷至本地(rsync)rsync -v -u -a --delete --rsh=ssh --stats username@192.168.0.1:/home/username/remotefile.txt .
如何限制通过Ubuntu SSH远程连接的用户帐号
如,假如你启用了Ubuntu SSH服务,那么任何有有效帐号的用户都可以远程连接。这可能会导致一些安全问题,由于有一些远程密码破解工具可以尝试常见的用户名/密码。
备份Ubuntu 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.