OpenSSH 安全性漏洞 CVE-2016-0777 and CVE-2016-0778

openssh

OpenSSH 今日公佈 Client Bug 漏洞 CVE-2016-0777 and CVE-2016-0778,發生原因是 SSH Clinet 跟 Server 溝通時,新功能 roaming 造成傳輸過程被惡意程式破解,影響的 OpenSSH 版本為 5.4 – 7.1. 大家快看看自己是否為這版本區間。此問題會發生在 SSH Client 而不是 Server 端,所以 Linux FreeBSDMacOS 都需要升級 OpenSSH,如果你是在 Windows 用 Putty 則不受影響。

Continue reading “OpenSSH 安全性漏洞 CVE-2016-0777 and CVE-2016-0778”

[筆記] 在 Ubuntu mount DVD ISO 檔案

logo-Ubuntu
在網路上常常下載 ISO 檔案Windows 底下可以透過虛擬光碟看到檔案內容,可是到了 Ubuntu 系統該如何知道 ISO 裡面放了哪些檔案呢?其實很簡單,可以透過 mount 指令就可以做到了喔,參考 Ubuntu 台灣論壇: 如何mount iso檔? [論壇 – Ubuntu基本設定]
$ mount /iso/ubuntu.iso /home/appleboy/ISO/ -t iso9660 -o loop
執行完上述指令,可以發現桌面會多出 DVD 光碟圖示,直接點選就可以了

Geany 編輯器搭配 sshfs 參數注意事項

geany_vectorized_free
Geany 是一套我覺得在 Linux 作業系統底下蠻簡易及輕量的程式編輯器,之前撰寫一篇 Linux 程式開發編輯器 Geany + Fuse 遠端掛載 簡易介紹如何使用 Fuse,這次發現一個小問題,就是掛載要儲存檔案時候出現底下錯誤訊息
Error renaming temporary file: Operation not permitted. The file on disk may now be truncated!
此錯誤訊息發生在用 Fuse 掛載遠端系統所造成,原先掛載指令如下
sshfs appleboy@xxxx.com.tw:/home/appleboy /home/git/CN 
-p 22 -o reconnect,sshfs_sync -o uid=1000,gid=1000
我們只需要另外加上 workaround=rename flag 及可以解決此問題
sshfs appleboy@www.cn.ee.ccu.edu.tw:/home/appleboy /home/git/CN 
-p 22 -o reconnect,sshfs_sync -o uid=1000,gid=1000 
-o workaround=rename
測試環境為 Ubuntu 10.10.

AWS 機器上 duplicated RPM 問題

AWS-logo
昨天幫忙升級全部 AWS RPM 套件,升級過程本來很順利,不過不知道哪一個 RPM 造成 SSH 全面斷線,接著我直接到 AWS Management Console 把機器 restart,登入系統之後下 yum update,直接給我噴出底下錯誤訊息
---> Package zlib.i686 0:1.2.3-24.7.amzn1 will be updated
---> Package zlib.i686 0:1.2.3-25.8.amzn1 will be an update
--> Finished Dependency Resolution
 You could try using --skip-broken to work around the problem
** Found 155 pre-existing rpmdb problem(s), 'yum check' output follows:
audit-libs-2.1-5.15.amzn1.x86_64 is a duplicate with audit-libs-2.0.4-1.14.amzn1.x86_64
authconfig-6.1.12-5.14.amzn1.x86_64 is a duplicate with authconfig-6.1.4-6.13.amzn1.x86_64
basesystem-10.0-4.9.amzn1.noarch is a duplicate with basesystem-10.0-4.8.amzn1.noarch
bash-4.1.2-8.14.amzn1.x86_64 is a duplicate with bash-4.1.2-3.13.amzn1.x86_64
binutils-2.20.51.0.2-5.20.17.amzn1.x86_64 is a duplicate with binutils-2.20.51.0.2-5.12.15.amzn1.x86_64
cloud-init-0.5.15-16.amzn1.noarch is a duplicate with cloud-init-0.5.15-8.amzn1.noarch
coreutils-8.4-13.13.amzn1.x86_64 is a duplicate with coreutils-8.4-9.12.amzn1.x86_64
coreutils-libs-8.4-13.13.amzn1.x86_64 is a duplicate with coreutils-libs-8.4-9.12.amzn1.x86_64
cpp-4.4.5-6.35.amzn1.x86_64 is a duplicate with cpp-4.4.4-13.33.amzn1.x86_64
Continue reading “AWS 機器上 duplicated RPM 問題”

Linux 程式開發編輯器 Geany + Fuse 遠端掛載

Geny 自己買的筆電灌上了 Ubuntu 作業系統,Linux 系統好處多多,指令自己也熟悉,想架什麼站都可以,但是最主要還是要找一套程式開發編輯器,網路上看了大部份文章,我決定用 Geany 這套免費的編輯器,在 Windows XP 底下我則是使用 PSPad 搭配內建的 FTP 功能遠端編輯寫程式,但是 Geany 並沒有支援 FTP 功能,可以詳細看到官方網站 Q&A,官方建議搭配 FuseLUFS,這樣並不只是 Geany 可以使用,其他 Application 也可以任意使用了。 在介紹 Fuse 之前可以先參考過去寫的一篇教學: [SSHFS] 好用的 SSH Filesystem fusefs-sshfs in FreeBSD or Linux,裡面分享了 FreeBSD 跟 Linux 底下的 tarball 安裝方式,當然現階段 Ubuntu 安裝就很容易了,透過 Apt 管理的方式安裝:
$ apt-cache search sshfs
sshfs - filesystem client based on SSH File Transfer Protocol
sshfs-dbg - filesystem client based on SSH File Transfer Protocol (with debbuging symbols)
sbackup-plugins-fuse - Simple Backup Suite FUSE plugins
$ apt-get install sshfs
安裝完成,透過底下指令把遠端資料夾 mount 過來吧。
$ mkdir /home/appleboy/tmp
$ sshfs -p 22 appleboy@XXX.XXX.XXX.XXX:/home/appleboy /home/appleboy/tmp
Geany 真的蠻好用的喔,推薦給大家,還有其他 screenshot 可以參考這裡

快速安裝 Amazon EC2 LAMP 環境 (EC2 Console)

已經紅了一陣子的 Amazon 雲端服務,本篇來介紹如何使用 Amazon EC2 Linux 安裝 LAMP (Linux Apache MySQL PHP) 環境,衝著 Amazon 推出的新玩家註冊開始為期一年的免費,當然也是有一些限制條件,可以參考 EC 2 收費標準及介紹,底下這圖片就是一年內免費的方案,其實對於剛學習 Linux 的玩家而言相當足夠。 AWS Free Usage Tier 如何設定及註冊 Amazon EC2 可以參考底下連結教學: 什麼是雲端服務?阿正老師教你免費玩Amazon EC2雲端主機!(上篇) 阿正老師教你免費玩Amazon EC2雲端主機(下篇):主機實戰篇 看完這兩篇大概對於 Amazon 有一定程度的瞭解,接下來就是如何進入玩家們所安裝好的 Amazon Linux 主機,由於 EC 2 的服務主機會常常自動更新 IP,剛開始可以到 Console 看到底下 public DNS: AWS Management Console 不過這 DNS IP 都會常常更新,所以剛開始都要常常來這邊看,玩家們可以用剛剛註冊此機器的 mykey.pem 透過 ssh 的方式登入機器,底下是在 Ubuntu 的操作
1. 先設定檔案權限,請將檔案權限改成 400
chmod 400 mykey.pem
2. 透過 ssh 軟體 pietty (上面阿正老師連結有教學)或 Linux ssh 指令
ssh -i mykey.pem ec2-user@ec2-XXXXXX.compute-1.amazonaws.com
進去主機之後就是一般的 Linux 操作,可以參考 鳥哥的Linux 私房菜,當然我想玩家們都會發現一直透過 mykey.pem 登入會有點麻煩,而且假設 pem 檔案消失,又要去 Console 申請一次,所以底下教大家如何不必透過 mykey.pem 方式登入,其實也很容易,就是修改 /etc/ssh/sshd_config
1. 打開 /etc/ssh/sshd_config 找到 PasswordAuthentication
PasswordAuthentication no
改成
PasswordAuthentication yes
2. 存檔後,重新啟動 sshd
/etc/init.d/sshd restart
上述設定完成之後,就可以直接透過 ssh -l ec2-user xxx.xxx.xxx.xxx 的方式來遠端 Linux 主機,透過 yum 繼續安裝 Apache + MySQL + PHP,方法如下:
yum groupinstall "Web Server"
yum groupinstall "MySQL Database"
最後請參考計算 Amazon 每個月所需費用,不要傷了自己的荷包 XD,Micro Instance 的方案規格就很足夠我用
613 MB memory Up to 2 EC2 Compute Units (for short periodic bursts) EBS storage only 32-bit or 64-bit platform I/O Performance: Low API name: t1.micro

申請 Elastic IP

補充如何申請固定IP跟 EC2 結合,其實蠻容易的,看下面這張圖 AWS Management Console 2 大家申請 IP 之後,請記得跟 EC2 做結合的動作,如果申請放著不用,這樣會被收費喔

切換 Ubuntu apt 的 mirror site

Update: 國網內部員工建議用 http://ftp.twaren.net 這台

最近常常會發生 apt-get update 指令失敗,台大這台 tw.archive.ubuntu.com 似乎常常掛點,所以網路上找一下其他的 mirror site,看到似乎很多人都在用國網的 Server ( http://free.nchc.org.tw ),要換的話,請更改 /etc/apt/sources.list,將全部 tw.archive.ubuntu.com 都取代成 free.nchc.org.tw,其實還有另一個 domain 就是 opensource.nchc.org.tw,這些都可以用,沒有 apt 的 UbuntuDebian 簡直就不是 Server 了…XD

[Linux] 打造 Ubuntu 10.10 嵌入式系統 Embedded System 開發環境

作者於公司內部擔任嵌入式系統(Embedded System)工程師,由於嵌入式系統開發環境,本 Team 大多是用於 Fedora 作業系統,個人覺得 Fedora 太肥了,所以打造了 Ubuntu 的環境,針對於各家不同晶片廠商所提供的 ToolChain 及 Code base 進行編譯,其實也不會很難,修改 Makefile 檔案大致上都可以完成,安裝各種不同版本的 gcc 來搭配各家 Vendor 所提供的環境,底下是剛安裝好 Ubuntu 10.10 版本所需要的一些軟體套件,利用 apt-get 指令就可以安裝完成:
#!/bin/sh
apt-get update
apt-get -y install openssh-server
apt-get -y install vim
apt-get -y upgrade
apt-get -y install build-essential
apt-get -y install git
apt-get -y install subversion
apt-get -y install bison
apt-get -y install flex
apt-get -y install gettext
apt-get -y install g++
apt-get -y install libncurses5-dev
apt-get -y install libncursesw5-dev
apt-get -y install exuberant-ctags
apt-get -y install sharutils
apt-get -y install help2man
apt-get -y install zlib1g-dev libssl-dev
# for samba 3.0.2 
apt-get -y install gawk 
# for Ralink      
apt-get -y install libid3tag0-dev
apt-get -y install libgdbm-dev
Continue reading “[Linux] 打造 Ubuntu 10.10 嵌入式系統 Embedded System 開發環境”