不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2021-09-17 09:54  分类:Linux基础  编辑

1、基本操作   

1)若本地用户名与远程用户名不同,则登录命令格式如下:

$ ssh user@host

2)若本地用户名和远程用户名一致,则登录可省略用户名:

$ ssh host

3)SSH默认端口是22,若访问远程服务器端口非22,则使用p参数,可以修改这个端口。

$ ssh -p 2222 user@host  或  $ ssh -p 2222 host

2、口令登录   

1)若是第一次访问远程主机,系统会先提示:      

$ ssh user@host
      The authenticity of host 'host (12.18.81.21)' can't be established.
      RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.
      Are you sure you want to continue connecting (yes/no)?
      
      然后提示:
      Are you sure you want to continue connecting (yes/no)? yes
     
      最后提示:
      Password: (enter password),若输入密码正确,则登录成功

2)若非第一次访问远程主机,系统直接提示:

      Password: (enter password),若输入密码正确,则登录成功

       这是因为第一次访问远程主机后,信息被保存在文件$ root/.ssh/known_hosts之中。当下次再连接这台主机时,系统就会认出它的,跳过警告部分,直接提示输入密码。
       每个SSH用户都有自己的known_hosts文件,此外系统也有一个这样的文件,通常是/etc/ssh/ssh_known_hosts,保存一些对所有用户都可信赖的远程主机公钥。

3、公钥登录   

每次通过ssh访问远程主机时,都要求用户输入密码,若以公钥方式登录,则可省去输入密码的步骤,设置公钥密码方式如下:

1)$ ssh-keygen  #用户生成用户自己的公钥和私钥,中途会要求输入口令(可忽略)。运行完成后,在$ root/.ssh/目录下,会新生成两个文件:id_rsa.pub(公钥)和 id_rsa(私钥)。

2)$ ssh-copy-id user@host  #此命令是将公钥传送到远程主机host上面,运行成功后,再登录远程服务器,就不无需输入密码

 

ssh-keygen命令语法

ssh-keygen 之后,生成的密码都叫 id_rsa.pub,我想改名不行吗?