SSH命令
SSH命令
ssh 命令,Linux ssh 命令详解:openssh套件中的客户端连接工具
openssh套件中的客户端连接工具
ssh命令 是openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器。
语法
1 | ssh(选项)(参数) |
选项
1 | -1:强制使用ssh协议版本1; |
参数
- 远程主机:指定要连接的远程ssh服务器;
- 指令:要在远程ssh服务器上执行的指令。
实例
1 | # ssh 用户名@远程服务器地址 |
连接远程服务器
1 | ssh username@remote_host |
连接远程服务器并指定端口
1 | ssh -p port username@remote_host |
使用密钥文件连接远程服务器
1 | ssh -i path/to/private_key username@remote_host |
在本地执行远程命令
1 | ssh username@remote_host "command" |
在本地复制文件到远程服务器
1 | scp path/to/local_file username@remote_host:/path/to/remote_directory |
在本地端口转发到远程服务器
1 | ssh -L local_port:remote_host:remote_port username@remote_host |
在远程服务器端口转发到本地
1 | ssh -R remote_port:local_host:local_port username@remote_host |
生成SSH密钥
打开终端或命令提示符
使用以下命令生成SSH密钥。默认情况下,ssh-keygen将创建一个2048位的RSA密钥对
1 | ssh-keygen -t rsa -b 2048 |
如果你不指定路径,ssh-keygen 将默认在用户的 ~/.ssh/ 目录下创建密钥对文件。
生成密钥后,你将在指定的路径下找到两个文件,私钥文件(通常为 id_rsa)和公钥文件(通常为 id_rsa.pub)。
如果需要,可以为密钥对设置密码。这是可选的,但是为私钥加上密码可以提高安全性。
在成功生成密钥对后,你将在指定的路径(或默认路径)下找到两个文件:id_rsa(私钥)和id_rsa.pub(公钥)。
注意
私钥,公钥文件的权限设置不能太宽松,不符合SSH的安全要求。SSH要求私钥文件的权限必须只允许文件所有者读写,而不允许其他用户访问。
1
2 chmod 600 .\ssh\id_rsa
chmod 600 .\ssh\id_rsa.pub
配置SSH密钥
将公钥复制到远程服务器的
~/.ssh/文件夹中或使用以下命令将公钥复制到远程服务器。
替换
your_username、your_hostname_or_ip和your_ssh_path为实际的用户名、主机名或IP地址以及远程服务器的SSH路径。1
ssh-copy-id -i ~/.ssh/id_rsa.pub your_username@your_hostname_or_ip -p your_ssh_port
检查服务器的SSH配置
确保远程服务器的SSH配置允许使用密钥进行身份验证。检查远程服务器上的
/etc/ssh/sshd_config文件,确保以下配置存在:1
2PubkeyAuthentication yes
AuthorizedKeysFile .ssh/id_rsa.pub然后重启SSH服务:
1
sudo systemctl restart ssd.service
SSH连接脚本示例
1 |
|