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上面,运行成功后,再登录远程服务器,就不无需输入密码