ssh name@remoteserver -p 2222
Windows下一款好用的 ssh客戶端 MobaXterm
https://mobaxterm.mobatek.net/download-home-edition.html
問題: Too many authentication failures for root (登陸次數過多)
解決方案一:
MaxAuthTries 20
MAC下 /etc/sshd_config
Linux下 /etc/ssh/sshd_config
解決方案二:
帶上 -o PubkeyAuthentication=no 參數
ssh root@192.168.0.184 -o PubkeyAuthentication=no
上傳文件到服務器並部署
scp -o PubkeyAuthentication=no ~/goods-service-1.0.0.0.jar root@192.168.0.184:/data/
上傳本地文件goods-service-1.0.0.0.jar至遠程服務器192.168.0.184 的/data/目錄中
1、連接到遠程主機
命令格式 :
ssh name@remoteserver
ssh name@remoteserver -p 2222
說明:以上兩種方式都可以遠程登錄到遠程主機,server代表遠程主機,name為登錄遠程主機的用戶名。
2、連接到遠程主機指定的端口
命令格式:
說明:p 參數指定端口號,通常在路由里做端口映射時,我們不會把22端口直接映射出去,而是轉換成其他端口號,這時就需要使用-p端口號命令格式。
3、通過遠程主機1跳到遠程主機2
命令格式:
ssh -t remoteserver1 ssh remoteserver2
說明:當遠程主機remoteserver2無法直接到達時,可以使用-t參數,然后由remoteserver1跳轉到remoteserver2。在此過程中要先輸入remoteserver1的密碼,然后再輸入remoteserver2的密碼,然后就可以操作remoteserver2了。
4、通過SSH運行遠程shell命令
命令格式:
ssh -l name remoteserver ‘command’
說明:連接到遠程主機,並執行遠程主機的command命令。例如:查看遠程主機的內存使用情況。
ssh -l root 192.168.1.100 svmon -G
5、禁止root用戶登錄
通常情況下,不采用直接用root用戶登錄到遠程主機,由於root用戶擁有超級權限,這樣會帶來安全隱患,所以,一般我們用普通用戶登錄,當需要管理遠程主機時,再切換到root用戶下。打開/etc/ssh/sshd_config文件並查找下面這樣的行:
#PermitRootLogin yes
將#號去掉,然后將yes修改成no,重啟ssh服務,這樣就可以禁止root用戶登錄。
將#號去掉,然后將bannertest.txt文件的全路徑替換/some/path,然后保存,重啟ssh服務。當客戶端登錄時,就會看到bannertest.txt文件中的提示信息。
6、SSH文件操作
1、從服務器上下載文件
scp username@servername:/path/filename /var/www/local_dir(本地目錄)
例如scp root@192.168.0.101:/var/www/test.txt #把192.168.0.101上的/var/www/test.txt 的文件下載到/var/www/local_dir(本地目錄)
2、上傳本地文件到服務器
scp /path/filename username@servername:/path
例如scp /var/www/test.php root@192.168.0.101:/var/www/ #把本機/var/www/目錄下的test.php文件上傳到192.168.0.101這台服務器上的/var/www/目錄中
3、從服務器下載整個目錄
scp -r username@servername:/var/www/remote_dir/(遠程目錄) /var/www/local_dir(本地目錄)
例如:scp -r root@192.168.0.101:/var/www/test /var/www/
4、上傳目錄到服務器
scp -r local_dir username@servername:remote_dir
例如:scp -r test root@192.168.0.101:/var/www/ #把當前目錄下的test目錄上傳到服務器的/var/www/ 目錄