Ⅰ linux中ssh如何遠程執行一條命令,而且不登錄遠程伺服器
ssh [email protected] 'command ...'
scp [email protected]:/remote/path /local/path
scp /local/path [email protected]:/remote/path
- X forward
ssh -X [email protected]
xcommand ...
- Tunnel / Portforward
ssh -L 1234:remote.machine:4321 [email protected]
ssh -R 1234:local.machine:4321 [email protected]
ssh -L 1234:other.machine:4321 [email protected]
# vi /etc/ssh/sshd_config
PermitRootLogin no
# vi /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
# service sshd restart
# su - user1
$ mkdir ~/.ssh 2>/dev/null
$ chmod 700 ~/.ssh
$ touch ~/.ssh/authorized_keys
$ chmod 644 ~/.ssh/authorized_keys
登入端:
$ ssh-keygen -t rsa
(按三下 enter 完成﹔不需設密碼,除非您會用 ssh-agent 。)
$ scp ~/.ssh/id_rsa.pub [email protected]:id_rsa.pub
(若是 windows client, 可用 puttygen.exe 產生 public key,
然後復制到 server 端後修改之, 使其內容成為單一一行.)
回到 server 端:
$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
$ rm ~/id_rsa.pub
$ exit
# vi /etc/pam.d/su
auth required /lib/security/$ISA/pam_wheel.so use_uid
# visudo
%wheel ALL=(ALL) ALL
# gpasswd -a user1 wheel
# vi /etc/pam.d/sshd
auth required pam_listfile.so item=user sense=allow file=/etc/ssh_users ōnerr=fail
# echo user1 >> /etc/ssh_users
Ⅱ linuxssh常用命令
Linux SSH常用命令
一、SSH連接命令
1. ssh 用戶名@IP地址:用於遠程登錄Linux伺服器。例如,「ssh [email protected]」。
2. ssh -p 埠號 用戶名@IP地址:用於連接到非標准SSH埠的伺服器。
二、文件傳輸命令
1. scp 本地文件路徑 用戶名@遠程主機IP:遠程路徑:將本地文件復制到遠程伺服器。
2. rsync 本地文件路徑 用戶名@遠程主機IP:遠程路徑:同步文件到遠程伺服器,保持文件一致性。
3. sz 文件名:通過sz命令可以將文件壓縮並保存到本地。
4. rz:通過rz命令可以將本地文件上傳到伺服器。
三、命令執行與傳輸
1. sshpass -p '密碼' ssh 命令 用戶名@IP地址:用於在SSH登錄時自動輸入密碼。
2. expect 「期望的提示」然後發送特定的響應」:自動化SSH會話中的互動式任務,例如自動輸入密碼或執行多個命令。
詳細解釋:
SSH是一種網路協議,用於安全地連接到遠程計算機。在Linux系統中,SSH是最常用的遠程登錄和管理工具之一。通過SSH,用戶可以安全地訪問和管理遠程伺服器。
一中的命令主要用於建立SSH連接。 ssh命令用於遠程登錄伺服器,需要提供用戶名和IP地址。使用「-p」選項可以指定連接到非標準的SSH埠。
二中的命令主要用於文件傳輸。 scp命令可以將文件從本地復制到遠程伺服器,或者從遠程伺服器復制到本地。rsync命令用於同步文件,保持文件的一致性。sz和rz命令則用於在本地和遠程伺服器之間傳輸文件,sz用於壓縮並保存文件到本地,rz用於上傳文件到伺服器。
三中的命令主要用於自動化處理SSH會話中的任務。 sshpass命令可以自動輸入密碼,減少手動操作的麻煩。expect命令則可以自動化處理SSH會話中的互動式任務,例如自動輸入密碼、執行多個命令等。這對於需要批量處理或自動化腳本的任務非常有用。