Ⅰ 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会话中的交互式任务,例如自动输入密码、执行多个命令等。这对于需要批量处理或自动化脚本的任务非常有用。