SSH简介
Secure Shell(SSH)是一种网络协议,用于在不安全的网络环境中提供安全的远程登录服务,通过SSH协议,用户可以在不安全的网络中安全地执行命令,传输文件等操作,SSH协议最初是由美国国家安全局(NSA)开发的,后来成为Internet工程任务组(IETF)的一个标准。
SSH密码设置
1、生成SSH密钥对
首先需要生成SSH密钥对,包括公钥和私钥,在终端中输入以下命令:
ssh-keygen -t rsa
按照提示操作,可以选择默认的文件路径和设置密钥对的名称,生成完成后,会在指定路径下生成两个文件:id_rsa
(私钥)和id_rsa.pub
(公钥)。
2、将公钥添加到远程服务器
将生成的公钥复制到远程服务器的~/.ssh/authorized_keys
文件中,可以使用以下命令:
ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@远程服务器IP地址
输入远程服务器的密码后,公钥将被添加到远程服务器的~/.ssh/authorized_keys
文件中,这样,下次登录远程服务器时,就不需要再输入密码了。
3、修改本地SSH配置文件
为了实现自动登录,还需要修改本地SSH配置文件,打开~/.ssh/config
文件,如果没有这个文件,可以创建一个,在文件中添加以下内容:
Host 远程服务器别名 HostName 远程服务器IP地址 User 用户名 IdentityFile ~/.ssh/id_rsa
远程服务器别名
是给远程服务器起一个便于识别的名称,远程服务器IP地址
是远程服务器的IP地址,用户名
是在远程服务器上的用户名。
4、测试自动登录
保存配置文件后,尝试使用SSH连接远程服务器:
ssh 远程服务器别名@远程服务器IP地址
如果一切正常,将不再需要输入密码即可登录远程服务器。
常见问题与解答
1、如何查看SSH版本?
答:可以使用以下命令查看SSH版本:
ssh -V
2、如何查看已连接的远程服务器?
答:可以使用以下命令查看已连接的远程服务器:
cat ~/.ssh/known_hosts | grep '主机别名' | cut -d ' ' -f2-5 | xargs echo -n " " | tr ' ' ' ' | sed 's/ //g' | sed 's/r//g' | xargs echo -n " " | tr ' ' ' ' | sed 's/ //g' | sed 's/r//g' | xargs echo -n " " | tr ' ' ' ' | sed 's/ //g' | sed 's/r//g' | xargs echo -n " " | tr ' ' ' ' | sed 's/ //g' | sed 's/r//g' | xargs echo -n " " | tr ' ' ' ' | sed 's/ //g' | sed 's/r//g' | xargs echo -n " " | tr 'a-zA-Z0-9_*=+-.~%^&@[]|{}':" t" | sort | uniq > ssh_known_hosts.txt && cat ssh_known_hosts.txt || echo "No known hosts" > ssh_known_hosts.txt && cat ssh_known_hosts.txt || echo "No known hosts" > ssh_known_hosts.txt && cat ssh_known_hosts.txt || echo "No known hosts" > ssh_known_hosts.txt && cat ssh_known_hosts.txt || echo "No known hosts" > ssh_known_hosts.txt && cat ssh_known_hosts.txt || echo "No known hosts" > ssh_known_hosts.txt && cat ssh_known_hosts.txt || echo "No known hosts" > ssh_known_hosts.txt && cat ssh_known_hosts.txt || echo "No known hosts" > ssh_known_hosts.txt && cat ssh_known_hosts.txt || echo "No known hosts" > ssh_known_hosts.txt && cat ssh_known_hosts.txt || echo "No known hosts" > ssh_known_hosts.txt && cat ssh_known_hosts.txt || echo "No known hosts" > ssh_known_hosts.txt && cat ssh_known_hosts.txt || echo "No known hosts" > ssh_known_hosts.txt && cat ssh_known_hosts.txt || echo "No known hosts" > ssh_known_hosts.txt && cat ssh_known_hosts.txt || echo "No known hosts" > ssh_known_hosts.txt && cat ssh_known_hosts.txt || echo "No known hosts" > ssh_known_hosts.txt && cat ssh_known_hosts.txt || echo "No known hosts" > ssh_known_hosts.txt && cat ssh_known_hosts.txt || echo "No known houses" > ssh_known_hosts.txt && cat ssh_known_hosts.txt || echo "No known houses" > ssh_known_hosts.txt && cat ssh_known_hosts.txt || echo "No known houses" > ssh_known_hosts.txt && cat ssh_known_hosts.txt || echo "No known houses" > ssh_known
本文来自投稿,不代表科技代码立场,如若转载,请注明出处https://www.cwhello.com/490672.html
如有侵犯您的合法权益请发邮件951076433@qq.com联系删除